我有一个工作簿,我必须清除所有对其他工作簿的引用。我目前正在尝试解析单元格公式,以检查它们是否引用了任何 excel 文件。
为此,我使用这条线
cell.getCellFormula().matches(".*\\[.*\\.xls[xm]?\\].*")
这个问题是,单元格在 XML 格式中看起来像这样:
<c r="K64" s="2128"> <f>[5]Segments!$AS$7/Annual!AF38</f> <v>0.0</v> </c>
如您所见,该公式实际上不包含.xls
, '.xlsx' 或根本不包含.xlsm
。据我所知[5]
,它表示一个共享字符串,它包含实际路径以及公式的实际值。
现在可以说并将正则表达式更改为.*\\[\d+\\].*
,但我认为这很容易出错。此外,我认为并非每个外部引用都像这样。
所以我的问题是:
如何识别引用外部工作簿的公式?
如果你有任何问题随时问。
编辑:
我准备了一个示例 excel 文件来展示这个问题。可在workupload.com下载
慕的地10843
相关分类