[問題] 有關Java Excel

看板java作者 (野砲蕃薯)時間18年前 (2008/03/29 00:19), 編輯推噓6(602)
留言8則, 5人參與, 最新討論串1/4 (看更多)
前陣子有個需求,需要將UI上顯示的資訊(ex.JTable、JLabel、JFreeChart) 輸出至Xls檔,在網路上東找西找,找到了Java Excel 包一包後使用,沒問題。 最近增加了一項需求,需要將Txt檔同樣輸出至Xls檔 但這Txt檔算是蠻大的(都是n個欄位*n萬筆資料) 於是,就造成了記憶體不足的情況(問題1) 好吧!只好尋找別的解決方法! 後來選擇了用JDBC將Excel當成資料庫來使用 很好,可以使用,但有了(問題2) 最後…(問題3)出現了!!! 問題1: 當我新增資料至Xls檔時,新增了一堆Cell至Sheet時,這些Cell都是存在記憶體 直到最後workbook.write()時,才一次寫入至檔案,只能這樣子使用嗎? 無法自己控制哪些Cell要先寫入檔案,而不放在記憶體裡嗎? 問題2: 透過JDBC將Xls當做資料庫來使用,同樣要建立Table(也就是Sheet), 並設定其欄位型態,為何設定為varchar的欄位,在用Excel開啟Xls檔後, 他的欄位資料都會多加個「'」呢?(ex.男,就會變成'男) 問題3: 當我用JDBC將n欄*n萬筆資料,全部輸出至Xls檔後,但接下來, 我在別的功能裡,需要再新增Sheet到這個Xls檔, 但…卻在createWorkbook的時候出現記憶體不足!!! 我想請問的是,Java Excel開啟一個Xls檔後,是將其內的所有資料(Sheet、Cell) 全都放到記憶體嗎…?有可能是這樣子嗎? 以上…還煩請有經驗的前輩們指點一二…頭痛啊…頭痛… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.170.85

03/29 00:41, , 1F
總覺得... 你的需求很... 不合理 XDXD
03/29 00:41, 1F

03/29 01:16, , 2F
拜托用一個database吧...都几千几万了...mysql不要錢的...
03/29 01:16, 2F

03/29 01:43, , 3F
java api產生的xls通常不會格式太新,column有256欄限制.注意
03/29 01:43, 3F

03/29 06:52, , 4F
呵呵…無奈啊,這是使用者指定的需求XD
03/29 06:52, 4F

03/29 09:19, , 5F
難道登入月球列入需求也要答應嗎@@?
03/29 09:19, 5F

03/29 10:28, , 6F
樓上…你的問題我實在不知如何回答…
03/29 10:28, 6F

03/29 10:46, , 7F
qrtt1 大讓我想到發射火箭的問題... XDD
03/29 10:46, 7F

03/29 11:05, , 8F
俺的意義是說, 要表明做不到的事. 研商雙方可接受的結果
03/29 11:05, 8F
文章代碼(AID): #17xHgk_L (java)
文章代碼(AID): #17xHgk_L (java)