xujie-joe 发表于 2023-3-21 14:28:41

GcExcel获取单元格内容:java.lang.OutOfMemoryError(DOCXLS-7820)

本帖最后由 Clark.Pan 于 2023-4-4 10:37 编辑

GcExcel获取单元格内容:java.lang.OutOfMemoryError: Java heap space


代码如下,ssjson如附件

public static void main(String[] args) throws Exception {
      Workbook workbook = new Workbook();
      workbook.open("gongyi.ssjson");

      IWorksheet worksheet = workbook.getWorksheets().get(0);
      int rowCount = worksheet.getRowCount();
      int columnCount = worksheet.getColumnCount();
      System.out.println(rowCount);
      for (int i = 0; i < rowCount; i++) {
            for (int j = 0; j < columnCount; j++) {
                System.out.println("第" + i + "行,第" + j + "列的值为:" + worksheet.getRange(i, j).getText());
            }
      }
    }

Clark.Pan 发表于 2023-3-21 18:07:37

您好,您这边用的版本是多少呢?我这边用V6的版本进行测试,不会出现内存溢出情况,并且运行速度也很快。

xujie-joe 发表于 2023-3-22 09:43:43

Clark.Pan 发表于 2023-3-21 18:07
您好,您这边用的版本是多少呢?我这边用V6的版本进行测试,不会出现内存溢出情况,并且运行速度也很快。

我这也是V6
代码是运行到第4行的时候报错

我这边只有12列,你那为啥有这么多列





Clark.Pan 发表于 2023-3-22 14:43:26

是我写法的问题,我这边重现您的问题了, 该问题已经反馈给了开发,问题编号:DOCXLS-7820。该贴改为保留处理并移动至bug反馈版块。有进展我会再次在帖子中回复您。

Clark.Pan 发表于 2023-4-4 10:39:17

这个原始的Excel文件能否提供一下呢?
我们这边调查发现ssjson中的conditional的range有20亿行,是导致内存溢出原因。
页: [1]
查看完整版本: GcExcel获取单元格内容:java.lang.OutOfMemoryError(DOCXLS-7820)