利用java的開源組件JExcel建立無差異的Excel檔案,並且匯入到.net項目中去.

來源:互聯網
上載者:User

用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:

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

使用的VM是IKVM

http://www.IKVM.net

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.