Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

large Excel file read

 
praveenkl kumark
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,


I am trying to upload a excel file if it as 100000 of rows then a get the java heap space error

how will resolve this

this is my code.


FileInputStream myInput = new FileInputStream(fileName);
try{
if (extention.equalsIgnoreCase("xlsx"))
{
XSSFWorkbook wb = new XSSFWorkbook(myInput);
XSSFSheet sheet = wb.getSheetAt(0);
ExcelServiceImpl.saveExceldataxlxsdata(sheet,httpS ervletRequest);
}
else if (extention.equalsIgnoreCase("xls"))
{
POIFSFileSystem fileSystem = new POIFSFileSystem(myInput);
HSSFWorkbook myWorkBook = new HSSFWorkbook(fileSystem);
HSSFSheet mySheet = myWorkBook.getSheetAt(0);
ExcelServiceImpl.saveExcelsdata(mySheet,httpServle tRequest);
}


please help me.
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to JavaRanch.

How much memory have you allocated to the JVM? POI is known to use lots of memory; try upping it substantially.

Also, having separate code for handling XLS and XLSX is unnecessarily complicated. Use the classes in the org.apache.poi.ss package instead which can handle both varieties.

I also question a design that uses Excel files with 100.000 rows - no human being should be subjected to such files, and if the file is not touched by humans, then XLS/XLSX is not the best way to store the data.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic