浏览 6293 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-31
HSSFWorkbook wb=new HSSFWorkbook(new FileInputStream(fileName)); 从本地得到的FileInputStream为HSSFWorkbook初始化是一次性全部加在到内存中(每行不到10个字段,总共不到20000行数据),这一句就直接抛出OOM异常 引用 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at org.apache.poi.hssf.usermodel.HSSFRow.createCellFromRecord(HSSFRow.java:181) at org.apache.poi.hssf.usermodel.HSSFSheet.setPropertiesFromSheet(HSSFSheet.java:182) at org.apache.poi.hssf.usermodel.HSSFSheet.<init>(HSSFSheet.java:123) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:264) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:168) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:297) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:278) at javaapplication4.Main.main(Main.java:30) 提问之前有查过相关贴,看到有的兄弟能处理1x万行的数据导入,不知道如何做到的.加载之前将大excel拆分成若干小文件吗?如何办到? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-01
内存加大点 -Xms?
默认只有64M |
|
返回顶楼 | |
发表时间:2008-06-01
kayoo 写道 内存加大点 -Xms?
默认只有64M 的确是这样 用java -Xms512m -Xmx1204m -jar xxx.jar 6万行的数据(Excel文件最大6.5w行per sheet)不到2秒都可以读入内存 |
|
返回顶楼 | |