如何自动刷新Excel公式?

4
我在使用ExcelPackage时遇到了大问题,因为有时公式没有更新(即使我删除了值)。我尝试使用ExcelInterop将xlsx保存为xls,以为这可以解决问题,但并没有。我发现的解决方法是按下CTRL + ALT + F9。用户不想每次都这样做,所以我想通过编程方式实现。你知道确保所有xlsx公式更新的有效方法吗?
5个回答

9

我之前发现这个方法对我有用:

for (int iWorksheet = 1; iWorksheet <= workbook.Worksheets.Count; iWorksheet++)
                {
                    Worksheet ws = ((Worksheet)workbook.Worksheets[iWorksheet]);
                    ws.UsedRange.Formula = ws.UsedRange.Formula;
                    ws.Calculate();
                }

2
谢谢,这也为我解决了将多单元格范围分配给公式字符串数组的问题。在那里不需要Calculate() - Aaron Thoma

9

从 VBA 宏(或通过 COM 对象)调用 Application.CalculateFull


1

1

SpreadsheetGear for .NET可以在没有Excel的情况下打开、计算和保存xls和xlsx工作簿,并且由于它完全是.NET代码(用C#编写),因此在.NET应用程序中使用起来更加容易。

如果您想尝试一下,可以在这里看到一些示例here并下载免费试用版here

免责声明:我拥有SpreadsheetGear LLC。


1

您可以始终设置Application.Calculation = xlAutomatic。这样,您不需要依赖自己的代码来执行计算,并且仅在需要时调用。

请注意,此设置会影响整个 Excel 实例。因此,如果您的客户不希望其他工作簿像这样工作-他们应该在单独的 Excel 实例中打开它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接