2014-10-01 6 views
0

Здесь 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 

Я думаю, что я, возможно, указаны аргументы неправильно. Я пошел в документацию, и я не могу сказать, что указано неправильно.

Заранее спасибо

+0

a */* видно (обычно) как escape-символ. если вы хотите отображать один на экране, вам придется использовать ** // **. в этом случае, однако, у DavidG есть ответ, используя обратную косую черту – jbutler483

+0

Спасибо за ответ, я все равно получаю ту же ошибку с новым путем? – bob

+0

в какой момент вы используете ** newWorkbook **? – jbutler483

ответ

0

Ваш путь неправильно - то слэши вперед вместо обратной косой черты. Попробуйте это (и обратите внимание на @ префикс, который обозначает verbatim string):

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

Спасибо за ответ. Я все еще получаю ошибку даже с этим путем. Тем не менее, почему символ @ есть? Благодарю. – bob

+0

Можете ли вы попробовать с помощью простого 'Open (workbookPath);' и я обновлю ответ. – DavidG

+0

Пробовал, такую ​​же ошибку. – bob

0

Я просто хотел, чтобы обновить это с ответом. Я решил это, создав файл в excel и выбрав расширение xlsx. Первоначально я создал файл в открытом офисе и имел расширение файла xls. По-видимому, расширение xls-файла не работает с библиотекой interop?

+0

. Расширения файлов .xls, безусловно, работают с interop. Interop был вокруг до расширений .xlsx. –

1

В моей системе установлен Office 2010

в ваших ссылках должны иметь, офис Офис 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); 
Смежные вопросы