【发布时间】:2016-12-13 06:43:26
【问题描述】:
这可能是重复的,因为很多帖子都提到了这类问题,但我找不到这个案例的确切答案。
所以,我有一个 Excel 文件,其中单元格“E4”包含公式“=C4+D4”。所有其他单元格都是空的,这意味着我无法通过 OpenXml 搜索或获取它们,仅仅是因为它们在 Xml 中不存在。所以为了填充单元格“C4”和“D4”,我必须创建它们(像这样:)
var cell = new Cell(){
CellReference = new StringValue("C4"),
DataType = new EnumValue<CellValues>(CellValues.Number),
CellValue = new CellValue("123")
}
单元格“D4”也一样,然后将这些单元格附加到行
row.Append(cell);
我打开 excel 文件后,它显示错误“Excel 在 file.xlsx 中发现不可读的内容。您要恢复此工作簿的内容吗?如果您信任此工作簿的来源,请单击是。”
我检查过,当 excel 文件中没有公式时,单元格被正确附加。
所以我的问题是,如何使用 OpenXml 在包含公式的 Excel 文件中附加单元格,以免破坏文件?
【问题讨论】: