Imports System.Runtime.InteropServices.Marshal Imports Office Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '以COM方式处理Excel Dim oExcel As New Excel.Application Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook Dim oSheets As Excel.Sheets, oSheet As Excel.Worksheet Dim oCells As Excel.Range Dim sFile As String, sTemplate As String '定义一个datatable Dim dt As DataTable = CType(Application.Item("MyDataTable"), DataTable)
'将DATATABLE的内容导出到Excel的单元格中去 Private Function DumpData(ByVal dt As DataTable, ByVal oCells As Excel.Range) As String Dim dr As DataRow, ary() As Object Dim iRow As Integer, iCol As Integer
'输出列标题 For iCol = 0 To dt.Columns.Count - 1 oCells(2, iCol + 1) = dt.Columns(iCol).ToString Next
'将数据导出到相应的单元格 For iRow = 0 To dt.Rows.Count - 1 dr = dt.Rows.Item(iRow) ary = dr.ItemArray For iCol = 0 To UBound(ary) oCells(iRow + 3, iCol + 1) = ary(iCol).ToString Response.Write(ary(iCol).ToString & vbTab) Next Next End Function End Class
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dt As DataTable = CType(Application.Item("MyDataTable"), DataTable)
Private Function ConvertDtToTDF(ByVal dt As DataTable) As String Dim dr As DataRow, ary() As Object, i As Integer Dim iCol As Integer
' 输出列标题 For iCol = 0 To dt.Columns.Count - 1 Response.Write(dt.Columns(iCol).ToString & vbTab) Next Response.Write(vbCrLf)
'输出数据 For Each dr In dt.Rows ary = dr.ItemArray For i = 0 To UBound(ary) Response.Write(ary(i).ToString & vbTab) Next Response.Write(vbCrLf) Next End Function End Class