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 在上面的代码中,首先,先定义了一些关于Excel的对象,如application,workbook,sheets,sheet等,这些都是在使用Excel的COM对象时,必不可少的。之后,我们事先先定义了一个Excel的模版文件,并且用Excel先打开这个模版文件,再调用一个自定义的过程dumpdata。在这个自定义的过程中,将datatable中的数据,逐一导入到Excel的单元格中去。读者自己可以慢慢体会下,上面的代码中,是如何将datatable中的数据导出到Excel中去的。程序运行后,可以在当前的工作目录下,生成名为myExcel.xls的Excel文件,如下图: