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 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
    Protected WithEvents Btn_Import_Excel As System.Web.UI.WebControls.Button
    Protected WithEvents BtnImportWord As System.Web.UI.WebControls.Button

    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        CreateDataSet()
    End Sub


    Private Sub ExportDataGrid(ByVal FileType As String, ByVal FileName As String)      '从DataGrid导出
        Response.Charset = "GB2312"
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
        Response.AppendHeader("Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8))
        Response.ContentType = FileType
        Me.EnableViewState = False
        Dim tw As System.IO.StringWriter
        tw = New System.IO.StringWriter
        Dim hw As System.Web.UI.HtmlTextWriter
        hw = New HtmlTextWriter(tw)
        DataGrid1.RenderControl(hw)
        Response.Write(tw.ToString())
        Response.End()
    End Sub

    Private Sub CreateDataSet()                                 '创建DataSet
        Dim myDataSet As DataSet
        myDataSet = New DataSet("aNewDataSet")
        Dim table1 As DataTable
        table1 = MakeTable("ID", "Name")
        myDataSet.Tables.Add(table1)
        DataGrid1.DataSource = myDataSet
        DataGrid1.DataBind()
    End Sub


    Private Function MakeTable(ByVal c1Name As String, ByVal c2Name As String) As DataTable            '创建表
        Dim i As Integer
        Dim myTable As New DataTable
        Dim myColumn As DataColumn
        ' Add two DataColumns
        myColumn = New DataColumn(c1Name, System.Type.GetType("System.Int32"))       '创建字段和设置类型
        myTable.Columns.Add(myColumn)
        myColumn = New DataColumn(c2Name, System.Type.GetType("System.String"))
        myTable.Columns.Add(myColumn)
        Dim Dr As DataRow
        For i = 1 To 10
            Dr = myTable.NewRow()
            Dr(0) = i
            Dr(1) = "Name" + i.ToString()
            myTable.Rows.Add(Dr)
        Next i
        MakeTable = myTable
    End Function

    Private Sub BtnImportWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnImportWord.Click
        Call ExportDataGrid("application/ms-word", "指数列表.doc")             '导到Word
    End Sub

    Private Sub Btn_Import_Excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Import_Excel.Click
        Call ExportDataGrid("application/ms-excel", "指数列表.xls")            '导到Excel
    End Sub
End Class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值