【发布时间】:2017-07-17 15:35:37
【问题描述】:
在使用 EPPlus 时,我试图将公式的结果插入到单元格中
即:
Worksheet.Cells["A4"].Value = 3
Worksheet.Cells["A5"].Value = 4
Worksheet.Cells["A6"].Formula = "=SUM(A3:A4)"
Worksheet.Cells["A6"].Calculate()
在工作表中,我将在公式栏中看到公式,但我想要在 EPPlus 中评估公式并将值插入单元格。因此,当单击单元格时,我看到的只是 7 而不是 =SUM(A3:A4)
这样做的原因是因为我有很大的工作表(出于商业原因)并且在打开时计算公式意味着加载工作表需要大约 20 秒
【问题讨论】:
-
跳过
=,应该是:Worksheet.Cells["A6"].Formula = "SUM(A3:A4)" -
感谢您的回复。这没有用。它仍然显示公式,并且公式结果会在工作表打开时尝试计算
-
我认为“计算”正在用计算值替换公式。因此,如果您想保留公式,则不能使用“计算”。作为加快速度的提示(至少在 EPPlus 方面),尝试为单元格范围定义格式和公式,而不是一次为每个单元格设置一个。当您从 EPPlus 生成文件时,这似乎使事情运行得更快,并且还可能加快在 Excel 中打开它的时间 - 尽管需要进一步测试来验证这一点。