【问题标题】:Open an Excel Addin in C#在 C# 中打开一个 Excel 插件
【发布时间】:2014-08-18 18:25:11
【问题描述】:

我继承了一个 C# windows 应用程序,该应用程序构建了一个大电子表格以显示给用户。一项增强功能是将现有 Excel 加载项添加到此电子表格中。一旦电子表格在代码中完成后,我一直在尝试添加插件:

            excelApp.Visible = true;
            // trying to add the Add-in
            string workBookPath = @"C:\AddinIWasGiven.xls";
            Workbook excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);

每当我这样做时,我都会收到此错误: “无法打开 Microsoft Excel 加载项进行编辑。请改为编辑源文档”。我不确定为什么会收到此错误。我确实看到 excelWorkbook 以“C:\AddinIWasGiven.xls”的形式返回,但我读到这可能是调试器显示它的方式。我是加载项和 C# 的新手。任何建议或帮助将不胜感激。

通过一些帮助和反复试验,我发现这行得通:

字符串 workBookPath = @"C:\Addin.xla"; 工作簿 excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", false, false, 0, true, false, false);

【问题讨论】:

  • 确实是.xls文件?它似乎是一个转换为工作簿的加载项。 support.microsoft.com/kb/156943/en-us 加载项文件曾经有 .xla 扩展名。
  • 这是一个 .xls 文件。我想知道这是否是问题所在。
  • 可能是你的问题,尝试保存为*.xlam文件,IsAddin属性应该是true
  • 感谢@VDohnal 的建议。我将文件更改为 .xla,并且不得不将 Open 函数中的可编辑标志设置为 false。这允许打开加载项。

标签: c# excel excel-interop excel-addins


【解决方案1】:

加载项文件应具有.xla.xlam 扩展名。通过将 .xls 文件保存为 Excel 加载项 .xlam 来设置 Workbook.IsAddin=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多