ASP.NET中数据库数据导入Excel并打印
作者: Webmaster 来源: Linuxdby.com 点击:
日期: 2007-04-12
[收藏 ] [投稿 ]
IE是否经常中毒?推荐您
众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种: 1、直接利用IE的打印功能。一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比如,可以使用如下代码: <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)> 这种方法可以适用于简单的数据打印,对系统要求不高,但不足之处在于可以控制的能力比较差,比如处理分页等问题。 2、利用水晶报表或其他第三方工具,如微软的Reporting service。水晶报表或其他第三方控件的打印,一般是导出到Excel ,WORD,PDF等再进行打印的,效果比较好,但编程比较复杂,控制起来也不大方便,而且这些工具都是要收费的。 3、把数据库的数据或要打印的内容导出到Excel ,Word中去打印。使用这种方法,可以在服务端或者客户端进行。在服务端使用的话,要求服务端要安装Word,Excel ,在客户端使用的话,要求客户端在IE的安全设置上有一定要求。使用这种方法,可适应性比较强,控制较好。本文把以在ASP.NET中使用Excel 为例子,介绍怎么样把数据导出到Excel 的几种方法。 首先,先介绍在服务端使用Excel 的方法。要在服务器端使用Excel ,必须要求服务器端安装Excel ,并且要求一定的访问权限。比如,需要添加<identity impersonate="true"/>到web.config中。在本文中,要给予WEB目录可写的权限。 接下来,使用VS.NET 2003新建一个VB.NET的工程,并添加引用。由于我们要使用的是Excel ,所以添加一个关于COM的应用,这里添加的是Microsoft Excel Object Library,之后,添加的代码如下: 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
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页 1 2 3 下一页
上一篇: WEB开发之ASP.NET 验证控件安全隐患技术 下一篇: ASP.NET Starter Kit开始 Web 站点开发
【文章评论 】
【收藏本文 】
【推荐好友 】
【打印本文 】
【我要投稿 】 【论坛讨论 】
相关文章:
·用C#实现FTP搜索引擎 ·对C# 2.0中匿名方法的怀疑分析 ·在C#中利用DirectX实现声音播放 ·使用C#在进度条中显示复制文件的进度 ·C#中利用Markup Service实现HTML解析为DO ·c#操作word表格 ·C#代码操作IIS之虚拟目录 ·如何使用C#在发送往client的内容上加js代 ·[C#]解决读写包含汉字的txt文件时乱码的 ·C#实现根据域名查询ip实例
文章评论: (1条)
声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。