Excel“已删除记录:公式来自”日志文件未识别已删除的内容

Excel“已删除记录:公式来自”日志文件未识别已删除的内容

我使用 EditPlus 的正则表达式更改/替换功能修改了电子表格的 sheet6.xml 文件中公式的范围,使用以下正则表达式:

寻找:(SUM\(J.*:)(S)(.*\))

代替:\1\N\31

例如,它正确地将 更改为SUM(J1024:S1024)SUM(J1024:N1024)因为电子表格不包含第 N 列以外的数据。

然后,我删除calcChain.xml所有内容并将其压缩到一个新的 XLSM 文件中。当我在 Excel 中加载该文件时,会弹出一个消息框,提示该文件包含错误,如果我单击“确定”,Excel 将尝试修复该文件。单击“确定”后,Excel 显示:

Excel 能够通过修复或删除无法读取的内容来打开该文件。

删除的记录:/xl/worksheets/sheet6.xml 部分中的公式

单击以查看列出修复的日志文件:(blah,blah blah)\error123720_01.xml。

error123720_01.xml的内容为:

<?xml version="1.0" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
    <logFileName>error123720_01.xml</logFileName>
    <summary>Errors were detected in file 'C:\Users\mbmas_000\Directory Junctions\Documents - Local\Estate Accounting-2016-05-19.Mod2.xlsm'</summary>
    <removedRecords>
        <removedRecord>Removed Records: Formula from /xl/worksheets/sheet6.xml part</removedRecord>
    </removedRecords>
</recoveryLog>

因此,正如您所看到的,“详细信息”文件根本不包含任何详细信息,并且没有添加比原始对话框显示的更多信息。

电子表格本身在用 Excel 打开和显示后看起来没什么问题。我修改过的公式就在那里。一切看起来都很好;然而,这是一个巨大的电子表格,谁知道里面是否隐藏着一些错误。

我真的很想知道 Excel 在执行此“修复”时做了什么。这是否记录在任何地方?如果没有记录,是否有办法让 Excel 记录它?我确实尝试从“已修复”文件中提取 XML 并将其与我的更改生成的 XML 进行比较,但这被证明是非常具有挑战性的,因为 Excel 还借此机会用共享公式 ( <f t="shared" ...>) 替换了许多冗余公式,从而显著改变了原始 XML 并使比较变得非常困难。

相关内容