无法在VB.net中使用Excel Services打开Excel文件

时间:2012-04-19 15:48:16

标签: sharepoint-2010

我正在尝试在SharePoint 2010中处理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.dll中出现'System.Web.Services.Protocols.SoapException'类型的第一次机会异常 System.Web.Services.Protocols.SoapException:无法打开您选择的工作簿。

工作簿可能采用不受支持的文件格式,或者可能已损坏。    在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,流responseStream,布尔asyncCall)    在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)    在SMSMInventory.exServices.ExcelService.OpenWorkbook(String workbookPath,String uiCultureName,String dataCultureName,Status []&amp; status)    在SMSMInventory.LoadSpreadsheetUserControl.OpenExcel(SPFile mySpFile) 自动连接到机器'FS-CHI-SPDEV'上的'[4292] w3wp.exe'处理成功。 System.Web.Services.dll中出现'System.Web.Services.Protocols.SoapException'类型的第一次机会异常

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

在联系Microsoft支持后,他们指出了我的错误:

您无法在浏览器中打开.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,然后重试。

使用推荐的格式解决了我的问题。