H.Wong

P.

导航

利用java的开源组件JExcel创建无差异的Excel文件,并且导入到.net项目中去.

用MS Office的Excel组件去生成Excel有很大的弊端.
首先是进程难以释放,其次是每次生成的时候都会把Excel.exe全部的Load到内存里面去,至少占用10M的内存,假如生成大文件的至少占用100-500M,不是每台服务器都可能承受的了这样的内存损耗,而且每一个request都会产生一个这样的内存损耗.所以,没有足够的硬件条件,用这种方式是很不可取的.

所以,在系统开发过程中,想到了POI这个java的开源组件.但是有一个问题:这个生成的是OpenOffice的Excel格式,和MS Office的Excel格式还是有点出去,假如是自己系统去读取的话还是理解,但是碰到一些对外集成的系统,他会严格的要求Excel的格式必须要和MS Office的Excel格式一样,不能有差异.所以用POI去生成就有点麻烦.

于是google....

找到了JExcelAPI,JExcel也是一套在java生成Excel的开源API,而且能生成无差异的Excel文件,这个就是我的选择,而且相对的,用它开发比POI简单多.
经过2个小时的捣腾测试..终于把一个Console Application做出来了.嘿嘿效果不错,而且3rd Part 系统也可以读取.于是乎,怎么让jar文件在.net中使用这个是个问题.

开始是用调用Process的方式.发现并不是怎么好用.而且是很难用...

继续发扬程序员的优良传统.google去....

终于碰到了一个好的方法.使用.net的java虚拟机吧jar引入到.net里面去.不错不错.不过一个JDK的VM for .net一共有25M....

好大....

不过实现的效果还是挺满意的.接下来的事情就是把这些dll,exe都放到项目里面去.ok,搞定.

下面就把java的代码贴出来:

package Export:

Code

ExportApplication:

Code

我生成的Tool和要引用的DLL:

https://files.cnblogs.com/cnherman/ExportToExcelTool.rar

使用的VM是IKVM

http://www.IKVM.net

 

 

posted on 2008-09-19 09:34  H.Wong  阅读(2522)  评论(11编辑  收藏  举报