DataGrid中的数据导入到Word和Excel_VB

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Data.SqlClient
Imports System.Text

Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web 窗体设计器生成的代码 "

'该调用是 Web 窗体设计器所必需的。

 1<system.diagnostics.debuggerstepthrough()> Private Sub InitializeComponent() 
 2
 3End Sub   
 4Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid   
 5Protected WithEvents Btn_Import_Excel As System.Web.UI.WebControls.Button   
 6Protected WithEvents BtnImportWord As System.Web.UI.WebControls.Button 
 7
 8'注意: 以下占位符声明是 Web 窗体设计器所必需的。   
 9'不要删除或移动它。   
10Private designerPlaceholderDeclaration As System.Object 
11
12Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init   
13'CODEGEN: 此方法调用是 Web 窗体设计器所必需的   
14'不要使用代码编辑器修改它。   
15InitializeComponent()   
16End Sub 
17
18#End Region 
19
20Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load   
21'在此处放置初始化页的用户代码   
22CreateDataSet()   
23End Sub 
24
25  
26Private Sub ExportDataGrid(ByVal FileType As String, ByVal FileName As String) '从DataGrid导出   
27Response.Charset = "GB2312"   
28Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")   
29Response.AppendHeader("Content-Disposition", "attachment;filename=" &amp; HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8))   
30Response.ContentType = FileType   
31Me.EnableViewState = False   
32Dim tw As System.IO.StringWriter   
33tw = New System.IO.StringWriter   
34Dim hw As System.Web.UI.HtmlTextWriter   
35hw = New HtmlTextWriter(tw)   
36DataGrid1.RenderControl(hw)   
37Response.Write(tw.ToString())   
38Response.End()   
39End Sub 
40
41Private Sub CreateDataSet() '创建DataSet   
42Dim myDataSet As DataSet   
43myDataSet = New DataSet("aNewDataSet")   
44Dim table1 As DataTable   
45table1 = MakeTable("ID", "Name")   
46myDataSet.Tables.Add(table1)   
47DataGrid1.DataSource = myDataSet   
48DataGrid1.DataBind()   
49End Sub 
50
51  
52Private Function MakeTable(ByVal c1Name As String, ByVal c2Name As String) As DataTable '创建表   
53Dim i As Integer   
54Dim myTable As New DataTable   
55Dim myColumn As DataColumn   
56' Add two DataColumns   
57myColumn = New DataColumn(c1Name, System.Type.GetType("System.Int32")) '创建字段和设置类型   
58myTable.Columns.Add(myColumn)   
59myColumn = New DataColumn(c2Name, System.Type.GetType("System.String"))   
60myTable.Columns.Add(myColumn)   
61Dim Dr As DataRow   
62For i = 1 To 10   
63Dr = myTable.NewRow()   
64Dr(0) = i   
65Dr(1) = "Name" + i.ToString()   
66myTable.Rows.Add(Dr)   
67Next i   
68MakeTable = myTable   
69End Function 
70
71Private Sub BtnImportWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnImportWord.Click   
72Call ExportDataGrid("application/ms-word", "指数列表.doc") '导到Word   
73End Sub 
74
75Private Sub Btn_Import_Excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Import_Excel.Click   
76Call ExportDataGrid("application/ms-excel", "指数列表.xls") '导到Excel   
77End Sub   
78End Class</system.diagnostics.debuggerstepthrough()>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus