AX2009使用NPOI导出EXCEL
2013-06-24 10:56
405 查看
相信使用过MS office的API导出EXCEL的同学都有个非常不爽的体验,一个字,慢~~
对,就是导出时那种龟慢的速度,再加上还的购买office的授权许可,很够蛋疼的,现在就介绍一种快速导出EXCEL的方法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NPOI是POI项目的.NET版本,是由Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex.com/下载到它的最新版本。它不使用Office COM组件(Microsoft.Office.Interop.XXX.dll),不需要安装Microsoft Office,支持Office 97-2003和Office2007的文件格式,功能非常强大,关键是人家还是开源的(用了人家的东西,顺便给人做下广告)
至于和office excel导出对比我就不多测试了,给个链接
http://www.cnblogs.com/ShyBoy/archive/2013/05/14/3077915.html
现在就先介绍下在AX2009中使用NPOI导出office excel97-2003的文件格式
1.下载NPOI的动态链接库DLL文件(有点废话)
2.复制NPOI.DLL和NPOI.XML到AX客户端的安装目录BIN下,打开AX,添加NPOI.DLL的引用(导出97-2003格式只需要添加这个文件的引用就可以了)
3.结束了,可以开始使用了,简单吧,1分钟内可以安装完成
下面给个使用NPOI导出EXCEL的例子,我是使用MS的演示数据进行导出的,导出数据192行,175列,导出耗时3秒
AX的其他版本因没有测试环境,暂时没有测试
对,就是导出时那种龟慢的速度,再加上还的购买office的授权许可,很够蛋疼的,现在就介绍一种快速导出EXCEL的方法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NPOI是POI项目的.NET版本,是由Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex.com/下载到它的最新版本。它不使用Office COM组件(Microsoft.Office.Interop.XXX.dll),不需要安装Microsoft Office,支持Office 97-2003和Office2007的文件格式,功能非常强大,关键是人家还是开源的(用了人家的东西,顺便给人做下广告)
至于和office excel导出对比我就不多测试了,给个链接
http://www.cnblogs.com/ShyBoy/archive/2013/05/14/3077915.html
现在就先介绍下在AX2009中使用NPOI导出office excel97-2003的文件格式
1.下载NPOI的动态链接库DLL文件(有点废话)
2.复制NPOI.DLL和NPOI.XML到AX客户端的安装目录BIN下,打开AX,添加NPOI.DLL的引用(导出97-2003格式只需要添加这个文件的引用就可以了)
3.结束了,可以开始使用了,简单吧,1分钟内可以安装完成
下面给个使用NPOI导出EXCEL的例子,我是使用MS的演示数据进行导出的,导出数据192行,175列,导出耗时3秒
AX的其他版本因没有测试环境,暂时没有测试
static void NPOI_ExportExcel2003(Args _args) { System.IO.FileStream file; NPOI.HSSF.UserModel.HSSFWorkbook workBook= new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.ISheet sheet=workBook.CreateSheet("NPOISheet"); NPOI.SS.UserModel.IRow row; NPOI.SS.UserModel.ICell cell; InventTable inventTable; SysDictTable dictTable = new SysDictTable(inventTable.TableId); SysDictField dictField; FieldId fieldId; int i,j,k,t; str fieldValue; Types a; ; t=timenow(); while select inventTable { row=sheet.CreateRow(i); for(j=1;j<dictTable.fieldCnt();j++) { cell=row.CreateCell(j-1); fieldId=dictTable.fieldCnt2Id(j); a=typeof(inventTable.(fieldId)); dictField=dictTable.fieldObject(fieldId); if(a!=types::BLOB && a!=types::Class && a!=types::Container && a!=types::void && a!=types::Record) { for(k=1;k<=dictField.arraySize();k++) fieldValue=queryvalue(inventTable.(fieldId2Ext(fieldId,k))); } cell.SetCellValue(fieldValue); } i++; } file =new System.IO.FileStream("D:\\test.xls", System.IO.FileMode::Create,System.IO.FileAccess::ReadWrite); workBook.Write(file); file.Close(); info("export2003 use time:"+int2str(timenow()-t)+"s"); }
相关文章推荐
- AX2009使用NPOI导出EXCEL颜色设置
- AX2009使用NPOI导出EXCEL功能封装
- AX2009使用NPOI导出EXCEL常用格式设置
- ASP.NET 中 NPOI & LinqToSql 使用模板 导出 Excel
- MVC3 使用NPOI导出excel
- .NET使用NPOI组件将数据导出Excel
- AX2009使用Microsoft.Dynamics.AX.Fim导出EXCEL
- .net 使用NPOI或MyXls把DataTable导出到Excel(转)
- 将HtmlTable内容导出到Excel,使用NPOI组件 分类: ASP.NET 源代码 2012-12-17 13:37 2289人阅读 评论(3) 收藏
- 使用NPOI导出excel
- asp.net使用npoi读取excel模板并导出下载详解
- 使用NPOI导入导出标准Excel
- 使用NPOI 转换Excel TO HTML (导出格式不如原生Excel好看)
- 在Winform中使用NPOI第三方组件导出Excel
- 项目实战之—使用NPOI导入导出Excel
- 使用npoi.dll导出数据到excel
- .net 使用NPOI或MyXls把DataTable导出到Excel (二)
- 将HtmlTable内容导出到Excel,使用NPOI组件 分类: ASP.NET 源代码 2012-12-17 13:37 2288人阅读 评论(3) 收藏
- NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中
- NPOI的使用Excel模板导出 可插入到指定行