public class StreamingExcelExtractor
extends ExcelExtractor
Excel file data extractor based streaming
在打开一本工作簿时,不管是一个.xls HSSFWorkbook,还是一个.xlsx XSSFWorkbook,
工作簿都可以从文件或InputStream中加载。使用File对象可以降低内存消耗,
而InputStream则需要更多的内存,因为它必须缓冲整个文件。
// Use a file
Workbook wb = WorkbookFactory.create(new File("MyExcel.xls"));
// Use an InputStream, needs more memory
Workbook wb = WorkbookFactory.create(new FileInputStream("MyExcel.xlsx"));
=======================================================================
// HSSFWorkbook, File
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File("file.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true);
....
fs.close();
// HSSFWorkbook, InputStream, needs more memory
NPOIFSFileSystem fs = new NPOIFSFileSystem(myInputStream);
HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true);
=======================================================================
// XSSFWorkbook, File
OPCPackage pkg = OPCPackage.open(new File("file.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(pkg);
....
pkg.close();
// XSSFWorkbook, InputStream, needs more memory
OPCPackage pkg = OPCPackage.open(myInputStream);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
....
pkg.close();
https://blog.csdn.net/zl_momomo/article/details/80703533
http://poi.apache.org/components/spreadsheet/how-to.html
https://github.com/monitorjbl/excel-streaming-reader
https://github.com/alibaba/easyexcel
https://www.jianshu.com/p/cb9cd9965a63
- 作者:
- Ponfee