我正在努力使用Open XML SDK,我已经阅读了很多关于这个主题的帖子但是无法弄明白。我的目标是拥有一个本地创建的Excel文件,其中包含一个公式并在线编辑输入并在线检索计算值。
我不知道这是否可行,因为Open XML可能只会更改数据,我不知道它是否也可以执行Excel计算。
例如,我的本地文件包含三个单元格:
A1: 1
A2: 2
A3: =(A1+A2)
使用Open XML我将A2调整为值3,但是A3的结果仍然是3而不是4。
我已经读过有关Excel必须重新计算的内容,但我的目标是将Excel文件作为某种计算引擎,而不是将所有计算转移到C#。
欢迎提供所有提示和建议。
亲切的问候,帕特里克
答案 0 :(得分:1)
首先感谢所有回复。 其次,我想响应回答了我的问题,而开放的XML SDK只能调整文件,并且不会对重新计算文件中的现有公式做任何事情。这只会在Excel中打开时发生。我将看一下EPPlus。
答案 1 :(得分:0)
你可以使用这样的东西。
Cell cell; //supposing this is your cell referencing A3
CellFormula cellformula = new CellFormula();
cellformula.Text = "SUM(A1, A2)";
CellValue cellValue = new CellValue();
cellValue.Text = "0";
cell.Append(cellformula);
cell.Append(cellValue);
可以在此链接找到类似的示例:Formula cells in excel using openXML
答案 2 :(得分:0)
我觉得这个问题可能会有一些歧义。 OpenXML
是存储文档的方式,因此无法使用OpenXML SDK
进行计算。它是执行计算的电子表格引擎(Excel
应用程序)。
当输入更新时,保存的电子表格,计算值应该更新。