c# - 打开 excel 工作簿但将计算设置为手动

标签 c# .net

我尝试了几个选项,但似乎都不起作用,而且有些发送错误。

请告诉我我做错了什么

public string Main(String wbPath, String wbName)
{
    string cName = "";
    Excel.Application xlApp;
    Excel.Workbook xlWB;
    Excel.Worksheet xlWS;


    xlApp = new Excel.Application();
    xlApp.DisplayAlerts = false;
    xlApp.Calculation = Excel.XlCalculation.xlCalculationManual;       //Error occurs here 

    xlWB = xlApp.Workbooks.Open(wbPath + wbName);

    xlWB.SaveAs("vFile.html", Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml);
    cName = xlWB.FullName;
    xlWB.Close();


    xlApp.Quit();

    return cName;
}

错误代码:

{"Exception from HRESULT: 0x800A03EC"}

最佳答案

您必须在设置 xlApp.Calculation 之前打开工作簿:

static void Main(string[] args)
{
    string cName = "";

    var xlApp = new Application();

    var xlWB = xlApp.Workbooks.Open("youpathgoeshere", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    xlApp.Calculation = XlCalculation.xlCalculationManual;

    var xlWS = new Worksheet();

    xlWB.SaveAs("vFile.html", Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml);
    cName = xlWB.FullName;
    xlWB.Close();

    xlApp.Quit();

}

关于c# - 打开 excel 工作簿但将计算设置为手动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693215/

相关文章:

c# - 当(当前)只有一个实现它的类时,您是否应该创建一个接口(interface)?

c# - 通过触发器更改文本 block 中文本的颜色

.net - NServiceBus 消息拦截?

c# - 解析Json对象

c# - COM 方法调用在 C#、VB.NET 中失败,但在 Python 中有效

c# - 使用 C# 将文件上传到 azure 文件存储会使目录中的所有其余文件长度为 0

c# - 设置焦点的wpf问题

c# - 在登录页面中使用页面用户身份名称

c# - C# 异步 CTP 中的 `awaiting` 线程会发生什么?

c# - 是否有任何类可以像数据库一样查询/修改但完全是程序本地和内部的?