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

这里是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 

我想我可能已经指出了错误的论点。 我去了文档,我不能把我的手指指定不正确的。

提前致谢

在我的系统中安装Office 2010

在你的引用必须有,Office Interop 14

另外检查任务pipe理器,有时候错误可能是由于许多Excel的实例保持打开状态

在这里输入图像描述

尝试这个

  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); 

你的路是错误的 – 斜杠是向前而不是反斜杠。 试试这个(并注意表示一个逐字string的@前缀):

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

我只是想更新这个答案。 我通过在Excel中创build文件并selectxlsx文件扩展名来解决此问题。 最初,我在开放式办公室创build了这个文件,它有一个xls文件扩展名。 显然,一个xls文件扩展名不能用于互操作库?