我正在尝试从 Sharepoint 文档库中打开一个 excel 文件。我的应用程序搜索特定文件,获取其链接并使用它来下载和进一步打开。
我的应用程序可以在我的机器和测试服务器上运行,但是当我将它发送到质量保证服务器时,问题就开始了。
我无权访问,也不会授予 QA 机器。我只有一堆 Console.writes 来看看会发生什么。
据我所知,一切正常,直到它尝试打开 excel 并给出以下错误:
Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
根据我的搜索,这是与操作系统语言相关的一些错误,或者具有此解决方法的两种操作系统语言之间的差异http://support.microsoft.com/kb/320369。
问题是,所有机器上的所有操作系统语言属性都是相同的,如果这是问题所在,我将无法在我的机器或测试服务器中打开 excel。此外,在解决方法中,他们使用 InvokeMember?真的不明白为什么我会做这样的事情。
代码:(我使用的是 Microsoft.Office.Interop.Excel;)
MSExcel.Application MyExcel = new MSExcel.ApplicationClass();
MSExcel.Workbook wb = MyExcel.Workbooks.Open(link, 0, true, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, true, false);//Add(pathExcel);
MSExcel.Worksheet MyWS = (MSExcel.Worksheet)wb.Worksheets.get_Item(1);
其中链接是文件的完整 url。
我将不胜感激。如果有人有另一种方法来做同样的事情,我也将不胜感激。
提前致谢。