Apache POI 之 初学实战篇 (三) --- 打开工作薄

初学实战篇

可以通过加载文件的方式打开工作薄。对于XLS格式的文档直接创建File对象进行加载,对于XLSX格式的文档需创建InputStream对象进行加载。

打开文件工作薄的两种方式

  • XLS格式
WorkbookFactory.create(new File("wb.xls"));
  • XLSX格式
WorkbookFactory.create(new FileInputStream("wb.xlsx"));

注:使用一个文件对象允许降低内存消耗,而InputStream需要更多的内存来缓冲整个文件

*

如果直接使用hssfworkbook或xssfworkbook,一般应经过npoifsfilesystem或opcpackage,有生命周期的全面控制(包括关闭文件时做的):

// 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();

你可能感兴趣的:(poi,poi)