17

我正在使用excelLibrary以编程方式创建 excel 文件,但是当我尝试在 Microsoft Office Excel 中打开生成的文件时出现文件格式错误。

我已经看到有人报道了这件事,但仍然没有答案。

我使用 Office 2010,并且能够打开任何其他 .xls(97-2003 文件格式),但使用 excelLibrary 生成的除外。我也尝试过 Open Office,但仍然无法打开生成的文件。我没有尝试在 Office 97-2003 中打开它们。

只需尝试示例代码即可重现错误。

有没有人发现如何使用该库而没有遇到这个问题?

4

3 回答 3

49

找到了解决方案:

string filename = "c:\Test.xls";
Workbook workbook = new Workbook();
Worksheet sheet = new Worksheet("Test")
workbook.Worksheets.Add(sheet)

for(int i = 0;i < 100; i++)
      sheet.Cells[i,0] = new Cell("");

workbook.save(filename);

问题是 Office 2010 不支持它,除非有 100 个或更多单元格已填充。

我的解决方法是让它在 for 循环中用“”填充 100 个单元格。这样它就可以得到 100 个细胞计数,然后它就可以正常工作了。

参考:这里

于 2011-11-14T20:29:29.483 回答
5

不幸的是,使用 excelLibrary 导出的 excel 文件与 office 2010 Excel 不兼容,这是一个已经报告的问题,但似乎库开发不再活跃。

我已经切换到NPOI

于 2011-11-12T21:39:49.183 回答
-1

由于工作表名称未正确给出,因此引发了该错误。

一旦我们给工作表起一个名字,它就会正常工作。

于 2015-05-28T10:19:15.143 回答