我正在尝试在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'类型的第一次机会异常
谁能告诉我我做错了什么?
答案 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,然后重试。
使用推荐的格式解决了我的问题。