【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
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。
好的 麻烦 :mj72: 您好,请尝试下面的代码来临时解决该问题:
将模板文件中的所有隐藏工作表移至末尾。(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(); Joestar.Xu 发表于 2024-5-13 09:50
您好,请尝试下面的代码来临时解决该问题:
将模板文件中的所有隐藏工作表移至末尾。(5-13行)
您好 我目前是通过降低版本实现的,目前这个问题会在后续版本中修复吗 您好,该问题是会在后续的版本中修复的,如果您不着急的话也可以等待后续版本发布后再升级,届时我也会在本帖中告知您。 您好,该问题已在7.1.2中修复,您可以升级后测试一下。
在7.1.2中运行时会有红色字样的Log,无需关注,后续版本会移除,不会影响程序的正常运行。
页:
[1]