A. 我想用java poi 寫個EXCEL導出工具,用什麼設計模式寫比較好,原因是什麼
設計模式是解決特定問題的。如果你的導出工具沒有或者很少有這樣的問題,那完全不必用設計模式的。就按照普通的java程序寫就可以。如果你要可重用程度高,只要注重抽象即可。
B. java excel poi 大數據量50W 內存溢出
50W數庫EXCEL打開也有難度,建議導入CSV格式文件,或分多個文件。
關於內存溢出,注意以下幾點:
1,分頁分批從資料庫里查詢數據。
2,注意變數的釋放,特別是LIST和MAP之類的引用,如果定義成全局變數或靜態變數就會很難釋放。
3,調大虛擬機內存大小。
C. java WriteExcelFile生成excel如何讓在一個單元格內換行
使用 試試。
D. 用java快速從excel中讀取大量數據,驗證後顯示在頁面上,再把數據插入的資料庫中。
io可以快速的把文件讀入後台,在怎麼操作我就不會了
從頁面向後台傳圖片
public static void main(String args[]) {
try{
//定義輸入文件流
FileInputStream in = new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\新建文件夾\\mediaplayer-5.9-viral\\20120310.flv");
//將文件輸入流構造到緩存
BufferedInputStream bin = new BufferedInputStream(in);
//定義輸出文件流
File outputFile = new File("C:\\Documents and Settings\\Administrator\\桌面\\新建文件夾\\20120310.flv");//定義拷貝目標文件
FileOutputStream out = new FileOutputStream(outputFile);
//將輸出文件流構造到緩存
BufferedOutputStream bout = new BufferedOutputStream(out);
System.out.println("--------------------1111");
int c;
//循環讀取文件和寫入文件
while ((c = bin.read()) != -1){
bout.write(c);
bout.flush();}
//關閉輸入輸出流,釋放資源
System.out.println("-----------------------12222");
bin.close();
bout.close();
}catch(Exception e){
e.printStackTrace();
}
}
E. java上傳Excel文件,如何實現進度條顯示
您好,1、開發簡單,由於要定時起一個HTTP 連接去獲得進度信息,因此,發生的連接請求也增多 ,另外,在低速的情況下,常常會出各種各樣的BUG,網路環境的差異,還造成那個周期很 難選擇。 2、開發較復雜,COMET 本身需要伺服器的支持,這樣TOMCAT 至少得選6.0,否則伺服器長連 接,壓力肯定受不了,但是,性能相對好一些,由於一次上傳實際上只啟動了兩個HTTP 鏈接 請求,比起AJAX 來說,那是要少很多請求了。另外一個優點是,COMET 將使得伺服器可以主 動將進度情況匯報給客戶端,因此,客戶端的進度條相對來說,要准確一點。 3、目前看來解決方案最好的一個了,雖然開發需要涉及到 FLASH、JAVASCRIPT、以及 JAVA 的 開發,但是代碼量都不是很多,因此,復雜程度相對屬於中等程度。但是FLASH 也有幾個問 題:第一、瀏覽器 FLASH 版本兼容問題,第二、FLASH 是通過獲得發送數據的進度來體現進度 條的,因此雖然不需要伺服器端開發進度部分的代碼,但是進度的展現有些不是很准確,經 常會有一開始速度很快,但是後面越來越慢的情況。 4、就不說了,開發肯定是最麻煩的,但是進度條效果肯定是最好的,但要給每種瀏覽器都 要搞個插件,還是比較痛苦的。 總結一下,希望對大家有幫助。 2 其實很麻煩的,之前試過,會有下面幾個問題: 第一、伺服器端一定要選擇支持HTTP 長連接的伺服器,否則操作系統的線程限制,會導致並 發降低。 第二、除非原來就採用的是COMET 的進度方式,否則,你要把周期獲得進度的方式,改成 COMET 的方式,那很郁悶的,COMET 要伺服器主動把進度信息用JAVASCRIPT 的方式發回客戶端 ,所以需要把結構轉化為JAVASCRIPT 調用才行。 第三、對於不同的瀏覽器,處理 JAVASCRIPT 的方式是不一樣的,我試驗的結果是,IE 會在收 到一定數量的JAVASCRIPT 之後才執行,所以雖然我在伺服器端每次都調用了flush 方法,但 是界面上還是需要等一段時間才能響應。而這段時間又不好控制了,因為上傳文件大小的不 一樣,導致了下發的JAVASCRIPT 數量也不一樣,所以基本很難達到FLASH 那樣的效果。 其實如果已經決定採用flash 了,那就不需要再去修改伺服器端的代碼了,因為那個進度信 息伺服器發不發都不會影響到代碼的執行,反正FLASH 本身已經提供了進度指示了,所以, 說簡單地,要改成FLASH 上傳,你直接做個FLASH 客戶端就好了,不需要再改伺服器端了。 對了,還有一種情況需要改伺服器端,那就是FLASH 上傳多個文件是採用多線程上傳的,因 此如果你一次上傳多個文件,那就需要改伺服器端了。需要在所有線程上傳完成的情況下, 再去修改資料庫。
F. Excel 怎樣讓宏使用多核心多線程
我用exe模擬多線程,但是沒辦法回收結果,中間過程也不太好檢測。難題。
G. 請教利用多線程讀取大excel文件的問題,讀取時候避免主窗口假死
同學。。你這里的寫法其實根本沒有用到多線程 原因很簡單 你是定義了一個T的新線程,但是很可惜你在BeginDoSub這個獨立的線程中又定義了一個deSomeSub的委託,並且直接用Me.Invoke把實際的執行任務提交給界面主線程運行了 所以你的圖片的處理函...
H. excel vba 支持多線程的CPU嗎
你的意思是想通過多線程CPU來加快VBA的處理速度 嗎?如果是這樣,很遺憾地告訴你,這是不行的。據我所知VBA並不支持多線程,也就是說VBA編不出多線程程序,所以你用什麼CPU都只能以單線程方式運行。
I. 現在接手一個java項目 批量導入模塊,需提供jsp頁面上excel導入功能 求設計
先說時間吧。
一分鍾以內,最好在20秒內能完成
這個是指多少條記錄?億?還是6000?
假設是六千的話,那麼一秒鍾就要處理100條。
第一種方法,我覺得你起了多線程效果也不會差太多。線程也是要耗內存的。線程多了一樣慢。
你所說的 6000條數據時就需要4分鍾左右 這個包不包括上傳文件的時間?
你將工程分成幾個步驟可不可以?
1.上傳文件(數據是不是要添加到臨時表中,你來決定),完成後顯示一個頁,就是你要傳給後面的另一部分數據。
2.確認這部分數據後,提交,進行數據的處理。
這樣分開的好處就是每一步的時間都會短一些,不把時間集中在一起。
還有就是你可以在文件上傳完以後,在後台起線程來處理數據,用戶看第二個頁的時候,你已經在處理數據了,這樣也可以減少一部分時間。
至於你說的第二個方法,我雖然沒有做過,但知道可行。
不過,時間應該也短不了,因為你又要讀EXCEL,又要寫文件,這都是比較耗時的。
J. excel 吃單核還是多核
Excel是一個非常簡單的辦公軟體,無論是單核系統還是多核系統都可以應用,沒有關系,他用不著那麼復雜的地步,就是很爛的一個系統都可以支持。