【发布时间】:2014-02-25 11:36:09
【问题描述】:
我有一个 .xlsx 文件,我已将文件扩展名更改为 .xls,我正在尝试使用 Gembox 库读取它。问题是当我尝试使用GemboxExcel.LoadXls(fileName); 方法读取文件时,出现以下错误:
异常消息:分析失败:读取错误:文件无效 OLE2 复合文件。异常堆栈跟踪:System.Exception:分析 失败:读取错误:文件不是有效的 OLE2 复合文件。 ---> GemBox.CompoundFileException:读取错误:文件不是有效的 OLE2 复合文件。在 GemBox.ReadData.ReadHeader(BinaryReader br, ArrayList&masterAllocationTable) 在 GemBox.ReadData..ctor(Ole2CompoundFile ole2File, Stream inputStream)
在 GemBox.Ole2CompoundFile.Load(Stream 流,布尔 loadOnDemand)
在 GemBox.Spreadsheet.ExcelFile.ReadStreamHelper(ExcelFile excelFile, 流 inputStream, Boolean readSummaryStreams, Byte[]& ss, Byte[]& dss, 布尔读取宏, Byte[]& ctls, Byte[]& compObj, Ole2Storage& mStorage,字符串文件名)在 GemBox.Spreadsheet.ExcelFile.LoadXls(字符串文件名,XlsOptions xlsOptions
问题在于,如果我从 Excel 中保存文件(Microsoft Excel -> 另存为 -> .xls 文件),然后在程序中打开该文件并使用 GemboxExcel.LoadXls(fileName); 方法,则它可以正常工作。
我已经在我的机器上安装了Microsoft Office Compatibility Pack,但它不起作用。
有人遇到过这个问题吗?
【问题讨论】:
标签: c# excel ole gembox-spreadsheet