gpt4 book ai didi

c# - 在 C# 中模拟打开 Excel

转载 作者:太空宇宙 更新时间:2023-11-03 22:11:20 27 4
gpt4 key购买 nike

我有一个可能调用 BDDE.EXE 的电子表格。当我在 Excel 中打开此电子表格时,一切正常。我可以在公式以“=BDDE”开头的单元格中看到值。然而,当我使用 C# 打开同一个文件时,Excel 首先显示一个警告

Remote data not accesible.
To access this data Excel needs to start another application. ...
Start application 'BDDE.EXE'?

然后无论我点击什么 - 是或否,公式都会更新,之前重新计算的所有值都会丢失。

然后我尝试通过将 XlCalculation 设置为“手动”来强制 Excel 不重新计算。在此更改后,Open 停止工作,并抛出 COMException(没有其他信息)。

System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT
: 0x800A03EC
at Microsoft.Office.Interop.Excel.ApplicationClass.set_Calculation(
XlCalculation RHS)

我完全卡住了。我无法重新计算,因为那样会弄乱所有数字。我无法将 XlCalcualtion 设置为 Manual,因为它会抛出异常。

感谢任何帮助。

最佳答案

如果不先打开工作簿,则无法设置计算属性。这听起来像第 22 条军规,但实际上并不是您要在此处阻止的“计算”——您只是不希望它更新链接到外部源的单元格。

Open 方法采用可选的 UpdateLinks 参数。将其设置为 false,您应该没问题。

关于c# - 在 C# 中模拟打开 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6524509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com