上下文:我正在使用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