
| <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0> </OBJECT> <input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> <input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> <input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> |
| 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) sFile = Server.MapPath(Request.ApplicationPath) & "\MyExcel.xls" '定义模版文件 sTemplate = Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls" oExcel.Visible = False oExcel.DisplayAlerts = False '定义一个新的工作簿 oBooks = oExcel.Workbooks oBooks.Open(Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls") oBook = oBooks.Item(1) oSheets = oBook.Worksheets oSheet = CType(oSheets.Item(1), Excel.Worksheet) '命名该sheet oSheet.Name = "First Sheet" oCells = oSheet.Cells '调用dumpdata过程,将数据导入到Excel中去 DumpData(dt, oCells) '保存 oSheet.SaveAs(sFile) oBook.Close() '退出Excel,并且释放调用的COM资源 oExcel.Quit() ReleaseComObject(oCells) : ReleaseComObject(oSheet) ReleaseComObject(oSheets) : ReleaseComObject(oBook) ReleaseComObject(oBooks) : ReleaseComObject(oExcel) oExcel = Nothing : oBooks = Nothing : oBook = Nothing oSheets = Nothing : oSheet = Nothing : oCells = Nothing System.GC.Collect() Response.Redirect(sFile) End Sub '将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 |
![]() |
上一篇: ASP.NET Web Page应用深入探讨
下一篇: .NET WINFORM中使用本地SMTP SERVICE(CDO.Message错误处理)
| 关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图 |
| Copyright © 2000-2008 , www.21tx.com , All Rights Reserved . |
| © 晨新科技 版权所有 Created by TXSite.net |