低调的繁华 发表于 2024-5-10 11:17:46

【gc7.1.0】当前版本模板上数出现异常

本帖最后由 Joestar.Xu 于 2024-5-10 11:50 编辑


调研编号:DOCXLS-10329

当前版本上数一个设计器的模板会报错:

5月 10, 2024 11:11:06 上午 com.grapecity.documents.excel.I.aV a
警告: Error occurred while copying sheet '_sys_data_backend'.
The target workbook doesn't contain one or more referenced sheets:
'Sheet1' at $F$2
'Sheet1' at $F$3
'Sheet1' at $F$4
'Sheet1' at $F$5
'Sheet1' at $F$6
'Sheet1' at $F$7
'Sheet1' at $F$8
'_sys_data_struct' at $I$2
'_sys_data_struct' at $I$3
'_sys_data_struct' at $I$4
'_sys_data_struct' at $I$5
'_sys_data_struct' at $I$6
'_sys_data_struct' at $I$7
'_sys_data_struct' at $I$8
'_sys_data_struct_item' at $J$2
'_sys_data_struct_item' at $J$3
'_sys_data_struct_item' at $J$4
'_sys_data_struct_item' at $J$5
'_sys_data_struct_item' at $J$6
'_sys_data_struct_item' at $J$7
'_sys_data_struct_item' at $J$8

Exception in thread "main" java.lang.IllegalStateException: A workbook must contain at least one visible worksheet.
      at com.grapecity.documents.excel.I.aQ.r(Unknown Source)
      at com.grapecity.documents.excel.template.ba.a(Unknown Source)
      at com.grapecity.documents.excel.template.ba.b(Unknown Source)
      at com.grapecity.documents.excel.template.ba.b(Unknown Source)
      at com.grapecity.documents.excel.template.bx.b(Unknown Source)
      at com.grapecity.documents.excel.I.aQ.b(Unknown Source)
      at com.grapecity.documents.excel.Workbook.processTemplate(Unknown Source)
      at com.grapecity.documents.excel.Workbook.processTemplate(Unknown Source)
      at org.example.Main.main(Main.java:39)



切换到7.0.3版本就正常,期望官方帮忙排查下。相关demo在附件中已上传

Joestar.Xu 发表于 2024-5-10 11:35:49

您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。

低调的繁华 发表于 2024-5-10 11:46:54

Joestar.Xu 发表于 2024-5-10 11:35
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。

好的 麻烦

Joestar.Xu 发表于 2024-5-10 11:50:41

:mj72:

Joestar.Xu 发表于 2024-5-13 09:50:03

您好,请尝试下面的代码来临时解决该问题:

将模板文件中的所有隐藏工作表移至末尾。(5-13行)

String templatePath = "src/main/resources/template/demo.sjs";
Workbook workbook = new Workbook();
workbook.open(templatePath);

List<IWorksheet> allHiddenWorksheets = new ArrayList<>();
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) {
    if (workbook.getWorksheets().get(i).getVisible() != Visibility.Visible) {
      allHiddenWorksheets.add(workbook.getWorksheets().get(i));
    }
}
for (IWorksheet worksheet : allHiddenWorksheets) {
    worksheet.setIndex(workbook.getWorksheets().getCount() - 1);
}

// 数据源
List<Map> dataSource = createDataSource("测试");

// 上数
ObjectMapper objectMapper = new ObjectMapper();
workbook.addDataSource("test", new JsonDataSource(objectMapper.writeValueAsString(dataSource)));
// 关闭自动计算
workbook.setEnableCalculation(false);
workbook.processTemplate();

低调的繁华 发表于 2024-5-13 15:49:41

Joestar.Xu 发表于 2024-5-13 09:50
您好,请尝试下面的代码来临时解决该问题:

将模板文件中的所有隐藏工作表移至末尾。(5-13行)

您好 我目前是通过降低版本实现的,目前这个问题会在后续版本中修复吗

Joestar.Xu 发表于 2024-5-13 15:55:52

您好,该问题是会在后续的版本中修复的,如果您不着急的话也可以等待后续版本发布后再升级,届时我也会在本帖中告知您。

Joestar.Xu 发表于 2024-5-23 14:54:14

您好,该问题已在7.1.2中修复,您可以升级后测试一下。

在7.1.2中运行时会有红色字样的Log,无需关注,后续版本会移除,不会影响程序的正常运行。
页: [1]
查看完整版本: 【gc7.1.0】当前版本模板上数出现异常