+ -
当前位置:首页 → 问答吧 → POI 3.7合并多个Excel文件问题

POI 3.7合并多个Excel文件问题

时间:2011-09-22

来源:互联网

按照一个网帖教的方法。http://chenjumin.iteye.com/blog/731056

这里面因为POI版本的升级(原帖为3.1;我用的3.7),类名有所变动,我大概找到的对应关系就是里面的Workbook类对应为新版的InternalWorkbook,Sheet类对应为InternalSheet。
但是写最后那个getByte方法的时候,死活想不到应该咋改了,求各位大神帮个忙吧。
找不到的方法我标注在程序里了,求各位大神看看。
 static byte[] getBytes(Workbook workbook, Sheet[] sheets) {  
  int nSheets = sheets.length;  
   
  for(int i = 0; i < nSheets; i++){  
  sheets[i].preSerialize();  
  }  
   
  int totalsize = workbook.getSize();  
   
  int[] estimatedSheetSizes = new int[nSheets];  
  for(int k = 0; k < nSheets; k++){  
  workbook.setSheetBof(k, totalsize);  
  int sheetSize = sheets[k].getSize(); --这个getSize找不到了。。 
  estimatedSheetSizes[k] = sheetSize;  
  totalsize += sheetSize;  
  }  
   
  byte[] retval = new byte[totalsize];  
  int pos = workbook.serialize(0, retval);  
   
  for(int k = 0; k < nSheets; k++){  
  int serializedSize = sheets[k].serialize(pos, retval); --这个serialize找不到了。
  if(serializedSize != estimatedSheetSizes[k]){  
  throw new IllegalStateException("Actual serialized sheet size (" + serializedSize  
  + ") differs from pre-calculated size (" + estimatedSheetSizes[k] + ") for sheet (" + k  
  + ")");  
  }  
  pos += serializedSize;  
  }  
  return retval;  
  }

作者: dongsweet   发布时间: 2011-09-22

哥们 你这问题解决了吗

作者: bipig0724   发布时间: 2011-10-22