2012-04-19 87 views
2

我正在執行我在SharePoint 2010中處理Excel Services的第一次嘗試。我試圖打開已上傳到我的共享文檔的Excel文件。我已驗證我可以通過以下網址手動打開通過瀏覽器的文件:無法在VB.net中使用Excel Services打開Excel文件

http://myserver/Shared%20Documents/Adds2011.xls

但是通過這個以下Web程序時我收到一個錯誤。這裏是例行:

Private Sub OpenExcel(myurl As String) 
    Dim xlApp As New exServices.ExcelService 
    xlApp.Credentials = System.Net.CredentialCache.DefaultCredentials 
    Dim status(10) As exServices.Status 
    Dim sessionID As String = "" 
    Try 
     sessionID = xlApp.OpenWorkbook(myurl, "en-US", "en-US", status) 

     Dim sheetInfo() As exServices.SheetInfo = xlApp.GetSheetNames(sessionID, status) 

     Dim cell As Object = xlApp.GetCell(sessionID, sheetInfo(0).Name, 1, 1, True, status) 
    Catch ex As Exception 
     Debug.WriteLine(ex.ToString) 
    End Try 
    If sessionID <> "" Then 
     xlApp.CloseWorkbook(sessionID) 
    End If 

End Sub 

我收到以下錯誤:

型「System.Web.Services.Protocols.SoapException」的第一次機會異常出現在System.Web.Services.dll 系統.Web.Services.Protocols.SoapException:您選擇的工作簿無法打開。

工作簿可能處於不受支持的文件格式,或者它可能已損壞。 在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse的響應,流responseStream,布爾asyncCall) 在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名,對象[]參數) 在在SMSMInventory.LoadSpreadsheetUserControl.OpenExcel(SPFile mySpFile) SMSMInventory.exServices.ExcelService.OpenWorkbook(String workbookPath,String uiCultureName,String dataCultureName,Status [] & status) 在機器上自動附加到進程'[4292] w3wp.exe' 'FS-CHI-SPDEV'成功。 在System.Web.Services.dll中發生類型'System.Web.Services.Protocols.SoapException'的第一次機會異常

任何人都可以告訴我我做錯了什麼嗎?

回答

1

聯繫微軟支持後,他們指出我的錯誤:

你不能在瀏覽器中打開的.xls(見下面的網址):使用在Excel和Excel Services http://office.microsoft.com/en-us/excel-help/differences-between-using-a-workbook-in-excel-and-excel-services-HA010021716.aspx工作簿之間

差異

不支持所有其他Microsoft Office Excel文件格式,包括Office Excel 2007支持宏的工作簿(.xlsm)和Office Excel 2007 97-2003工作簿(.xls)。

保存爲.xlsx並重試。

使用推薦的格式解決了我的問題。