请问java导入数据,如果用多线程的话,如何保证导入顺序按excel的顺序?
导出大量数据时,分页查循环写入workbook已经放入workbook里的数据还在内存中吗?会导致内存溢出吗?

Java poi导入导出
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 捏造的信仰 2022-01-30 13:59关注
这是两个问题。
请问java导入数据,如果用多线程的话,如何保证导入顺序按excel的顺序?
假设你有 1.xlsx,2.xlsx,3.xlsx 等文件要导入,你首先需要记录你的安排,也就是:
- 将所有要导入的文件名列出来
- 对文件名排序,放在 List 里面,等下导入的时候一个一个来。
那么对每个文件你可以用独立的线程执行读取,注意只是读取到内存来,而不要写出。当所有的文件都读取完毕,然后按照文件名的顺序,一个一个写出到数据库或者什么其他地方。这个顺序就不会乱了。
导出大量数据时,分页查循环写入workbook已经放入workbook里的数据还在内存中吗?会导致内存溢出吗?
只要你没有将 workbook 关闭,它就一直在内存中。想要控制内存使用,就要控制同时打开的 workbook 数量。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报