首页 > 解决方案 > 指定的命名范围不存在

问题描述

在我的 android 应用程序中,我有一个 excel 文件,其中有一些公式。在一个公式中,我从其他单元格引用“里程”的固定值。

请参阅 这个图片 以供参考。

在图像中,AMOUNT列包含公式(=IF(F10="",0,F10*Mileage)),其中 Mileage 是单元格J1的名称,其值为0.485,如图左上角所示。

因此,当我尝试将此 excel 文件复制到另一个文件中时,出现此错误 W/System.err: org.apache.poi.ss.formula.FormulaParseException: Specified named range 'Mileage' does not exist in the current workbook.

标签: androidexcelexcel-formulaapache-poi

解决方案


正如 DavidGarcíaBodego 建议的那样,我们需要寻找名称管理器。https://support.google.com/docs/answer/63175?co=GENIE.Platform%3DDesktop&hl=en&oco=0

如果您正在处理 excel,您还需要复制命名的范围/单元格。有关更多信息,请参阅https://poi.apache.org/components/spreadsheet/quick-guide.html#NamedRanges

这就是我能够复制工作表中所有命名范围/单元格的方式

for (int i = 0; i < workbookSource.getNumberOfNames(); i++) {
            Name namedCel4 = workbookDestination.createName();
            namedCel4.setNameName(workbookSource.getNameAt(i).getNameName());
            namedCel4.setRefersToFormula(workbookSource.getNameAt(i).getRefersToFormula());
        }

推荐阅读