我有一个使用 OpenXML SDK 读写 Excel (xlsx) 单元格的类。该课程基于此处投票最多的答案:Open XML SDK 2.0 - 如何更新电子表格中的单元格?
我需要更新一个单元格,然后获取另一个单元格的值,其中包含一个计算公式。更新工作正常,但是当我在更新后读取公式单元格时,我得到了旧值,该值在编辑之前存在于文档中。但是,当我在运行程序后手动打开我的 xlsx 时,我可以看到正确的值。
所以看起来 cell 的旧值被缓存在某个地方......这很奇怪,因为我每次在读/写单元格之前打开/关闭我的文档。
编辑:文森特的回答让我更新了我的示例代码。我添加了一个 Refresh 方法,可以在后台运行的 Excel 应用程序中打开、保存和关闭文档。这会重新计算我的公式。有关更多详细信息和 C# 代码示例,请参阅: http: //fczaja.blogspot.com/2013/05/how-to-read-and-write-excel-cells-with.html