现在的位置: 首页 > 综合 > 正文

在.NET中用excel导出(概要)

2012年10月19日 ⁄ 综合 ⁄ 共 3035字 ⁄ 字号 评论关闭
 首先要在项目->添加引用->COM中添加Microsoft Office Web Components ,然后定义一个OWC.SpreadsheetClass 如:Dim xlsheet As New OWC.SpreadsheetClass 然后就可以向sheet中添加数据了,使用xlsheet.Cells(2, 2) = "表格填充内容" 格式添加数据,使用xlsheet.Range("B3:F3") 设置单元格的样式。
 最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式将excel文件保存在硬盘上。
 这种方法优点是无需系统权限分配,缺点是对于单元格的格式属性设置不够丰富,某些属性无法设置或者是设置比较麻烦。
2.用Excel Application
 用这种方法之前首先要给aspnet用户设置权限,否则程序会不能执行的。设置权限的过程如下:
 在运行处运行“dcomcnfg.exe”启动“分布式COM配置属性”
 在应用程序列表框中双击“Microsoft Excel 应用程序”
 选择“安全性”标签
 选择“使用自定义访问权限”单选框,点击“编辑”按钮
 添加本地“ASPNET”用户,权限为“允许访问”
 在“安全性”标签中选择“使用自定义启动权限”单选框,点击“编辑”按钮
 添加本地“ASPNET”用户,权限为“允许访问”
 以上工作在需要执行excel导出的服务器上进行一次即可。
 以后在每个工程中要选择“项目->添加引用中选择“COM”标签,添加“Microsoft Excel x.x Object Library”到 项目中,以后就可以执行excel导出操作了。
 在需要导出的时候首先定义一下excel application、excel Workbooks、excel Worksheets变量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以将数据放入excel Sheet中了,而且可以方便的设置单元格的各个属性参数。比如,设置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用这种方法可以实现几乎全部的excel功能,如果对于某个功能不知道用excel application如何实现,可以在excel中通过“记录宏-执行操作-查看宏代码”的方法得到实现该功能所用到的属性和方法。
最后要将数据保存到硬盘上,只需用excelBook.SaveAs(FileName)方法即可。
这种方法的优点是功能强大,可以实现几乎所有的excel功能。缺点是需要权限配置,而且运行时间比较长,占用资源比较高,结束后可能在系统中有残留的EXCEL进程。
3.直接存为文本文件
直接将数据按照html表格的格式存为文本文件,扩展名改成xls就可以用excel打开,或者按照Office XP之后支持的xml格式,这种格式所能实现的功能同样强大,缺点就是需要知道各种功能或者excel单元格格式的xml表达方法,工作量比较大。
这种方法优点是不需要权限配置(只需能够向硬盘写文件的权限就可以),执行速度快。缺点是需要知道大量的excel格式的xml或者html表达方式,前期准备工作量大。  首先要在项目->添加引用->COM中添加Microsoft Office Web Components ,然后定义一个OWC.SpreadsheetClass 如:Dim xlsheet As New OWC.SpreadsheetClass 然后就可以向sheet中添加数据了,使用xlsheet.Cells(2, 2) = "表格填充内容" 格式添加数据,使用xlsheet.Range("B3:F3") 设置单元格的样式。
 最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式将excel文件保存在硬盘上。
 这种方法优点是无需系统权限分配,缺点是对于单元格的格式属性设置不够丰富,某些属性无法设置或者是设置比较麻烦。
2.用Excel Application
 用这种方法之前首先要给aspnet用户设置权限,否则程序会不能执行的。设置权限的过程如下:
 在运行处运行“dcomcnfg.exe”启动“分布式COM配置属性”
 在应用程序列表框中双击“Microsoft Excel 应用程序”
 选择“安全性”标签
 选择“使用自定义访问权限”单选框,点击“编辑”按钮
 添加本地“ASPNET”用户,权限为“允许访问”
 在“安全性”标签中选择“使用自定义启动权限”单选框,点击“编辑”按钮
 添加本地“ASPNET”用户,权限为“允许访问”
 以上工作在需要执行excel导出的服务器上进行一次即可。
 以后在每个工程中要选择“项目->添加引用中选择“COM”标签,添加“Microsoft Excel x.x Object Library”到 项目中,以后就可以执行excel导出操作了。
 在需要导出的时候首先定义一下excel application、excel Workbooks、excel Worksheets变量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以将数据放入excel Sheet中了,而且可以方便的设置单元格的各个属性参数。比如,设置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用这种方法可以实现几乎全部的excel功能,如果对于某个功能不知道用excel application如何实现,可以在excel中通过“记录宏-执行操作-查看宏代码”的方法得到实现该功能所用到的属性和方法。
最后要将数据保存到硬盘上,只需用excelBook.SaveAs(FileName)方法即可。
这种方法的优点是功能强大,可以实现几乎所有的excel功能。缺点是需要权限配置,而且运行时间比较长,占用资源比较高,结束后可能在系统中有残留的EXCEL进程。
3.直接存为文本文件
直接将数据按照html表格的格式存为文本文件,扩展名改成xls就可以用excel打开,或者按照Office XP之后支持的xml格式,这种格式所能实现的功能同样强大,缺点就是需要知道各种功能或者excel单元格格式的xml表达方法,工作量比较大。
这种方法优点是不需要权限配置(只需能够向硬盘写文件的权限就可以),执行速度快。缺点是需要知道大量的excel格式的xml或者html表达方式,前期准备工作量大。

抱歉!评论已关闭.