当前位置: 首页 > 面试题库 >

XSSFWorkbook加载时间很长

滕学义
2023-03-14
问题内容

我正在使用以下代码:

File file = new File("abc.xlsx");
InputStream st = new FileInputStream(file);
XSSFWorkbook wb = new XSSFWorkbook(st);

xlsx文件本身具有25,000行,每行包含500列的内容。在调试过程中,我看到创建XSSFWorkbook的第三行需要很长时间(1小时!)来完成此语句。

有没有更好的方法来访问原始xlsx文件的值?


问题答案:

首先,当您有文件时,不要从InputStream加载XSSFWorkbook!使用InputStream需要将所有内容缓冲到内存中,这会占用空间并占用时间。由于您不需要进行缓冲,所以不用!

如果您运行的是最新的夜间POI版本,则非常简单。您的代码变为:

File file = new File("C:\\D\\Data Book.xlsx");
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);

否则,它非常相似:

File file = new File("C:\\D\\Data Book.xlsx");
OPCPackage opcPackage = OPCPackage.open(file.getAbsolutePath());
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);


 类似资料:
  • 我正在使用以下代码: xlsx文件本身有25,000行,每行有500列的内容。在调试过程中,我看到我创建XSSFWorkbook的第三行,需要很多时间(1小时!)来完成这个语句。 有没有更好的方法来访问原始xlsx文件的值?

  • 我试图写一个程序,与Excel文档,但HSSF格式太小,我的要求。我试图转移到XSSF,但在尝试使用它时,我不断地得到错误。 我通过向程序中添加xmlbeans-2.3.0.jar和dom4j-1.6.jar解决了前两个问题,但现在出现了这个错误,通过添加Apache网站上提供的Apache commons jar似乎无法解决这个问题。 错误如下:

  • 我正在尝试将excel文件转换为XSSFWorkbook,我有大约7000行和大约145列。将excel文件转换为第2行的XSSFWorkbook大约需要15分钟,代码如下:- 我不想向XFFSWorkbook添加7000行,只想在第2行转换时向XFFSWorkbook添加30行? 如果没有,如何减少将excel转换为XSSFWorkbook所需的时间?

  • 问题内容: 现在,这变得非常非常烦人。。。我在这个问题上停留了很长时间…问题是加载速度越来越慢。.这是我的代码,我将在底部对其进行解释: 在这里,我从用户数据中获取usernameProfile和imageProfile。这里的问题是它加载了wayyy来减慢速度..当我尝试通过传递使其呈现为html时: 图像变为空白..由于某种原因,html剂量识别ng模型…在我上面的代码中,底部的那些也首先被记

  • 我在20分钟前问过这个问题,但当我插入代码时,站点需要很长时间才能加载。10分钟后,我收到以下错误消息: 使用以下代码:

  • 我有一个excel表,我想有选择地将其内容转移到列表中。该对象有2个属性:。 我想将第一列设置为ID。我把这部分做对了。我还想追加第3、4、6、7列的值。例如,如果我的excel看起来像: 我想要4404A01459C1作为id(再次,我得到了这个部分)。然后我要13.14.8.7,跳过A1和B1,用;我如何做到这一点?