上下文:我正在使用Apache POI庫以某種格式讀取Excel文件。每個文件只有一張紙和一個特定的模板。我能夠讀取表單,對這些值執行一些操作,將它們存儲爲POJO,然後使用JAXB實現將它們轉換爲XML。Java - POI - 性能
問題:現在我只讀了幾個excel文件(比如說100),但我想設計我的應用程序的方式是,它的編號爲,可擴展的足以讀取1000到10000個文件。 你可以建議一個相同的好建築。另外,我應該使用多線程(比如一個10線程的線程池)來一次讀取10個表格,或者考慮到每張表單都有獨立的數據,而不是與任何其他表單鏈接的事實,這會是一個糟糕的設計。
注意: 我不能共享任何代碼片段,因爲這是專有代碼,儘管爲了假設,我們可以假設每個工作表有50行,每行有6到10列,全部爲純文本數據細胞。 由於文件很小,我將整個文件加載到內存中,然後進行處理。另外,我使用apache poi代碼遍歷行和列(示例如下)
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
sheet = workbook.getSheetAt(0);
//outer for loop using 'i' to iterate all rows
row = sheet.getRow(i);
//inner for loop using 'j' to iterate all columns in a row
value = row.getCell(j)
//use 'value' as and when required
//end inner for loop
//end outer for loop
p.S.這是我的第一個問題,所以請隨時提出我的問題的任何改變/改進。
感謝和問候, 希德
好吧,我們必須知道你究竟是如何讀取數據的。您可以更改代碼以模擬您如何讀取數據(不應該是專有的問題) – XtremeBaumer
由於它們不相互關聯,所以非常適合並行處理。 –
@XtremeBaumer添加了一個片段。請看看它是否有幫助。 – phoenixSid