在c#中打开工作簿时出错

时间:2014-10-01 14:12:05

标签: c# .net excel visual-studio

这是c#代码:

Excel.Application excelApp = new Excel.Application();
Excel.Workbook newWorkbook = excelApp.Workbooks.Add();
string workbookPath = "c:/users/user/desktop/1200patients/pharmgkb/drugs.xls";
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);

我在最后一行收到以下错误:

Exception from HRESULT: 0x800A03EC
ErrorCode: -2146827284

我想我可能已经指出了错误的论点。我去了文档,我不能把手指放在错误指定的地方。

提前致谢

3 个答案:

答案 0 :(得分:1)

在我的系统中安装了Office 2010

在您的参考文献中必须有,Office Office Interop 14

同时检查任务管理器,有时错误可能是由于许多Excel实例未开启

enter image description here

试试这个

   String fileTest ="c:/users/user/desktop/1200patients/pharmgkb/drugs.xls";

   Excel.Application xlApp;
   Excel.Workbook xlWorkBook;
   Excel.Worksheet xlWorkSheet;
   object misValue = System.Reflection.Missing.Value;

   xlApp = new Excel.Application();
   xlApp.Visible = false;
   xlApp.DisplayAlerts = false;
   xlWorkBook = xlApp.Workbooks.Open(@fileTest, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
   xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

答案 1 :(得分:0)

您的路径错误 - 斜线是向前而不是反斜杠。试试这个(并注意表示verbatim string@前缀):

string workbookPath = @"c:\users\user\desktop\1200patients\pharmgkb\drugs.xls";

答案 2 :(得分:0)

我只是想用答案更新这个。我通过在excel中创建文件并选择xlsx文件扩展名来解决这个问题。最初,我在开放式办公室创建了文件,它有一个xls文件扩展名。显然,xls文件扩展名不能与interop库一起使用?