当前位置: 首页 > 知识库问答 >
问题:

如何用Apache POI轻松阅读Excel2007大文件

陶俊晤
2023-03-14

我想阅读一个带有Apache POI的大型Excel2007文件。《快速入门指南》指出,应使用文件来节省内存。

打开工作簿(.xls HSSFWorkbook或.xlsx XSSFWorkbook)时,可以从文件或InputStream加载工作簿。使用File对象允许更低的内存消耗,而InputStream需要更多的内存,因为它必须缓冲整个文件。

opcPackage = OPCPackage.open(file);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
XSSFSheet sheet = workbook.getSheetAt(0);
rows = sheet.rowIterator();
if (rows.hasNext()) {
Row row = rows.next();
    System.out.println(row.getCell(1).getStringCellValue());
}

我希望迭代只是懒洋洋地加载那些要读取的行,就像流一样。

如何解决大型Excel文件的内存问题?我能用阿帕奇POI懒洋洋地看书吗?

共有1个答案

荣轶
2023-03-14

POI提供了一个eventmodel API来处理延迟加载。有关eventmodel和其他流选项的更多细节可以在POI文档页面上找到。

 类似资料:
  • 我已经编写了用于编写xlsm(Excel2007)的java文件。 使用ApachePOI库,编写xlsx文件是成功的。编写xlsm文件是成功的。但我无法打开xlsm文件,因为打开xlsm文件时出错。 使用ApachePOI库编写xlsm文件可行吗? 如果可以编写xlsm,请提供如何使用ApachePOI库编写xlsm文件的指南。 谢谢

  • 本文向大家介绍轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器,包括了轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了通过 jQuery EasyUI框架创建一个RSS阅读器,分享给大家供大家参考。具体如下: 运行效果截图如下: 我们将使用以下插件: layout:创建应用的用户界面。

  • 问题内容: 我正在尝试读取“ file.txt”,然后使用Golang将内容放入变量中。这是我尝试过的… 文件已成功读取,并且从 os.Open 返回的返回类型为 * os.File 问题答案: 这取决于您要执行的操作。 它输出&{0xc082016240}的原因是因为您正在打印文件描述符()的指针值,而不是文件内容。要获取文件内容,可以从文件描述符中获取。 要将所有文件内容(以字节为单位)读取到

  • 问题内容: 我想使用Jersey来实现一些Java REST服务。默认的POJO转换器JAXB处理JSON对象有点奇怪,因此我想使用Jackson转换POJO的开销很少或更少。我如何告诉J2ME框架使用另一个转换器? 我的web.xml看起来像这样: 问题答案: 只需添加jackson JAR并修改web.xml即可,如下所示: 所需的Jackson Jackson JAR(http://jack

  • 问题内容: 是否有任何适用于PHP的工具可用于基于WSDL生成使用Web服务的代码?相当于单击Visual Studio或Eclipse插件中的“添加Web引用”,这对于Java具有相同的作用。 问题答案: wsdl2php取得了很大的成功。它将自动为Web服务中使用的所有对象和方法创建包装器类。

  • 问题内容: 有没有一种方法可以让IDE自动修复Checkstyle错误,而不必手动修复每个错误? 问题答案: 如果您使用的是Eclipse,则可以。但是,您无法解决所有问题。有两种方法: 右键点击Package Explorer或其他中的Java文件,然后选择“应用Checkstyle改正”。 单击问题视图中的错误,然后选择“快速修复”。这样可以解决问题。