2012-04-19 174 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并重试。

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