how to split Excel file using java? -


i have excel sheet 200000 rows.i want splits excel file each 50000 records. using apache poi api read , write excel file.is possible split file if number of row reaches on defined record size.please me solution problem.

code:

public string[][] getsheetdata(int sheetindex)  {     int noofcolumns = 0;xssfrow row = null;     xssfcell cell = null;     int i=0;int noofrows=0;     int j=0;     string[][] data=null; xssfsheet sheet=null;      try {                     loadfile();  //load give excel                     if(validateindex(sheetindex))                     {                             sheet  = workbook.getsheetat(sheetindex);                             noofcolumns = getnumberofcolumns(sheetindex);                             noofrows =getnumberofrows(sheetindex)+1;                             data = new string[noofrows][noofcolumns];                             iterator rowiter = sheet.rowiterator();                             while(rowiter.hasnext())                             {                                 row = (xssfrow) rowiter.next();                                 iterator celliter = row.celliterator();                                 j=0;                                 while(celliter.hasnext())                                 {                                     cell  = (xssfcell) celliter.next();                                     if(cell.getcelltype() == cell.cell_type_string)                                     {                                         data[i][j] = cell.getstringcellvalue();                                     }                                     else if(cell.getcelltype() == cell.cell_type_numeric)                                     {                                         data[i][j] = double.tostring(cell.getnumericcellvalue());                                     }                                      j++;                                 }                                  i++;                             }   // outer while                       }                     else throw new invalidsheetindexexception("invalid sheet index.");                   } catch (exception ex) {                     logger.error(ex);}          return data;  } 

occur exception:

exception in thread "main" java.lang.outofmemoryerror: java heap space     @ org.apache.xmlbeans.impl.store.locale$scrubbuffer.<init>(locale.java:1885)     @ org.apache.xmlbeans.impl.store.locale.getscrubbuffer(locale.java:1904)     @ org.apache.xmlbeans.impl.store.xobj.getvalueasstring(xobj.java:1205)     @ org.apache.xmlbeans.impl.store.xobj.fetch_text(xobj.java:1796)     @ org.apache.xmlbeans.impl.values.xmlobjectbase.get_wscanon_text(xmlobjectbase.java:1332)     @ org.apache.xmlbeans.impl.values.xmlobjectbase.check_dated(xmlobjectbase.java:1269)     @ org.apache.xmlbeans.impl.values.javalongholder.longvalue(javalongholder.java:53)     @ org.apache.xmlbeans.impl.values.xmlobjectbase.getlongvalue(xmlobjectbase.java:1502)     @ org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.ctrowimpl.getr(unknown source)     @ org.apache.poi.xssf.usermodel.xssfrow.getrownum(xssfrow.java:321)     @ org.apache.poi.xssf.usermodel.xssfsheet.initrows(xssfsheet.java:180)     @ org.apache.poi.xssf.usermodel.xssfsheet.read(xssfsheet.java:147)     @ org.apache.poi.xssf.usermodel.xssfsheet.ondocumentread(xssfsheet.java:134)     @ org.apache.poi.xssf.usermodel.xssfworkbook.ondocumentread(xssfworkbook.java:235)     @ org.apache.poi.poixmldocument.load(poixmldocument.java:190)     @ org.apache.poi.xssf.usermodel.xssfworkbook.<init>(xssfworkbook.java:189)     @ com.arosys.excelreading.readxlsx.loadfile(readxlsx.java:49)     @ com.arosys.excelreading.readxlsx.getnumberofsheet(readxlsx.java:121)     @ com.arosys.excelreading.readxlsx.main(readxlsx.java:324)     java result: 1 

thanks

if cannot read docuemnt poi table simple i'd suggest open excel, save csv file , separate file fragments. can done using shell script/batch file.

this recommendation valid if have 1 huge file , have split it. if implementing service should receive such excel files , separate other solution.


Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

c# - SharpSVN - How to get the previous revision? -

php cli reading files and how to fix it? -