2011-04-13 78 views
1

我試圖打開一個Excel文件來獲取和設置一些值。不幸的是,我沒有選擇,我必須與Excel合作。在asp.net中操作Excel文件時出現RPC_E_SERVERFAULT錯誤

Dim xAp As New Microsoft.Office.Interop.Excel.Application 
Dim xWkb As Microsoft.Office.Interop.Excel.Workbook 

xWkb = xAp.Workbooks.Open("c:\uploads\teste.xls") 

我總是有這樣的例外:(Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))

需要我的Excel安裝在服務器計算機上打開Excel文件?我不這麼認爲,因爲當我通過代碼創建新的應用程序和工作簿時,所有的事情都是正確的,但是......這是一種可能性......

感謝您的幫助。

回答

2

是的,您需要在服務器上安裝Excel才能使用COM Interop打開Excel文件。不推薦,我建議使用第三方庫來訪問Excel文件中的數據。您也可以嘗試將數據轉換爲更易於使用的CSV,儘管您聲明這可能不可行。

+0

你能推薦我一個第三方庫來完成這個任務嗎?如果它是免費的,更好的...你知道爲什麼我可以創建一個新的Excel文件並使用它,我不能只是打開一個現有的文件到對象中?謝謝... – Alex 2011-04-13 20:49:21

+0

我會推薦spreadsheetgear,雖然它不是免費的。不確定如何在未安裝Excel的情況下創建該文件,是否使用File.Create? – 2011-04-25 20:16:08

+0

不支持服務器端自動化:請參閱此KB:support.microsoft.com/en-us/kb/257757,我的建議是使用ClosedXML – 2015-12-03 08:50:14

相關問題