我正在使用Apache POI和Java 8从其中包含多个图纸的现有模板生成excel。这是一个基于JavaFX的简单桌面应用程序,可读取excel文件模板并根据用户输入删除工作表。由于某些原因,当我的代码删除特定工作表时,在程序完成创建Excel文件后尝试打开excel文件时,出现以下错误:
We found a problem with some content in xyz.xlsm. Do you want us to try to recover as much as we can? If you trust the source of this workbook, click Yes.
Errors were detected in file 'C:\LTDrive2_4\Excel\TwoPieceOBS_2019_08_15_12_01_33.xlsm'
removedRecords:
Removed Records: Table from /xl/tables/table79.xml part (Table)
Removed Records: Table from /xl/tables/table103.xml part (Table)
答案 0 :(得分:1)
我在项目中遇到了类似的问题。我可以通过检查其他工作表中的单元格来查看它们是否引用正在删除的工作表中的表或单元格,从而解决该问题。修改所有单元格以使它们对要删除的图纸没有任何依赖性后,问题已解决。
例如:
要删除的表格在单元格中具有以下公式。
= IF(ISNUMBER([@ XYZ]),[@ deg] / [@ XYZ],“”)
其他工作表(可能是上面工作表的复制粘贴)具有以下公式:
= IF(ISNUMBER(Table726245820619242 [@XYZ]),Table726245820619242 [@deg] / Table726245820619242 [@XYZ],“”)
如果您注意到导致问题的公式中有表 726...。
一旦我纠正了公式,使其不具有任何此类依赖性,则问题得以解决。