Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中打开Excel加载项#_C#_Excel_Excel Interop_Excel Addins - Fatal编程技术网

C# 在C中打开Excel加载项#

C# 在C中打开Excel加载项#,c#,excel,excel-interop,excel-addins,C#,Excel,Excel Interop,Excel Addins,我继承了一个C#windows应用程序,它构建了一个大的电子表格以显示给用户。增强功能是将现有Excel加载项添加到此电子表格。我一直在尝试在电子表格完成后添加外接程序,代码如下: excelApp.Visible = true; // trying to add the Add-in string workBookPath = @"C:\AddinIWasGiven.xls"; Workbook e

我继承了一个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)

加载项文件应具有
.xla
.xlam
扩展名。通过将
.xls
文件保存为Excel加载项
.xlam

来设置
工作簿.IsAddin=true
,它确实是一个
.xls
文件?它似乎是转换为工作簿的外接程序。外接程序文件的扩展名通常为
.xla
。它是一个.xls文件。我想知道这是否是问题所在。这可能是您的问题,请尝试将其保存为
*.xlam
文件,IsAddin属性应为
true
。谢谢@VDohnal的建议。我将文件改为.XLA,并将打开函数中的可编辑标志设置为false。这样就可以打开外接程序。