我是新为正式用户,我总是发现我的答案在这里,但现在我得问。
我用最后Apache的POI 3.8发布工作(从2012/03/26),我有操纵与多个工作表一个文件,其中只有一个包含数据的一个大的量(超过1000列和10000行)。
我只需要有更多的列的大表。 因此,与存在我应该使用SAX读它和SXSSF重写它当前的工具。
Excel文件已经在每片不同的风格和图像预格式化,因此这将是有益的,能够使文件的副本,而不大板。
还有我的问题:我怎样才能使板材的使用SAX副本(从输入流),而不对它进行分析? 我试图做的像这里 ,但外地sheets
中XSSFWorkbook
具有可见性设置为私人。
该真棒事情是有东西像SXSSFWriter.SheetIterator
如果是在POI开发商未来的计划。
谢谢阅读,
亚瑟
**更新* *
该文件是太大,能够打开它作为一个普通XSSFWorkbook(OutOfMemoryException异常)。 难道是可以创建和XSSFSheet从InputStream? 就像下面:
XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader
.getSheetsData();
int index = 0;
while (iter.hasNext()) {
InputStream stream = iter.next();
String sheetName = iter.getSheetName();
if (!sheetName.equalsIgnoreCase("BigSheetThatIDontWant")) {
Sheet newSheet = new XSSFSheet(stream);
stream.close();
}
++index;
}
非常感谢你的回答。