我对通过 excel 打开导出 excel 表有疑问。我有一个导出到 excel 的应用程序,它是用 OutSystems(PaaS 开发平台)构建的。第一次打开 excel 时,任何公式(如 =1+1)都不会被求值,而只会以文本形式显示。当我双击这些单元格并按 Enter 键时,它们会被求值。
我使用的是 excel 2010 和 365(在两台电脑上试用过)。公式自动求值已打开,当我自己输入 =1+1 时,它会立即得到求值。
所有旧版本的 Excel 也都是这样吗?我可以在单元格中放入一些内容,让 Excel 评估公式吗?
答案1
我知道现在很晚了,但我想我会发表评论,因为我在尝试从我正在开发的网站导出类似数据时遇到了同样的问题。我所做的是通过将 .xlsx 扩展名更改为 .zip 文件(根据此建议)在这里我可以看到 Excel 通常使用如下公式构建单元格:
<c r="J14" s="1"><f>H15*1.5</f><v>0</v></c>
公式在<f>
标签中,<v>
是值。当您尝试从第三方程序将公式硬编码到单元格中时,它会<f>
完全放弃标签。因此,Excel 不知道如何正确解释它。我相信 .xls 文件也会发生类似的事情,但由于它们没有底层 XML 结构,我无法检查文件。
我能够使用 SheetJS 修复我的问题,但是它被编码到网站中。至于离线修复,我能找到的最干净的解决方案是使用宏执行“将 = 替换为 =”技巧,但即使这样也比我希望的要笨重,而且由于我们使用的系统,它实际上对我来说不起作用。真正的解决方案是让执行导出的应用程序预先解释单元格文本,并<f>formula</f><v>value</v>
在结果文本以等号开头时以某种格式构建单元格。