Softartisans的ExcelWriter v8错误

时间:2013-05-29 02:54:20

标签: officewriter

Softartisans的ExcelWriter v8似乎有一个合并单元格公式的错误。例如:

    ExcelApplication xla = new ExcelApplication();
    Workbook wb = xla.Create(ExcelApplication.FileFormat.Xlsx);

    area = ws.CreateArea(1, 0, 1, 2);
    area.MergeCells();
    cell = ws.Cells[area.FirstRow, area.FirstColumn];
    cell.Formula = "=A1”;

公式将在工作表中消失。

BTW,它适用于xls格式。

是否有可接受的解决方法?

2 个答案:

答案 0 :(得分:1)

我为SoftArtisans工作。

我们已经重现了这种行为,它似乎确实是一个错误。我们将其提交给开发人员,并在有新闻时更新此主题。

与此同时,这是一个建议的解决方法:

area = ws.CreateArea(1, 0, 1, 2);
area.MergeCells();
cell = ws.Cells[area.FirstRow, area.FirstColumn];
cell.Value = ws.Cells["A1"].Value;

我们在这里做的是为单元格而不是公式赋值。如果公式是您的示例中的单元格引用,则这是一项简单的任务。但是,对于更复杂的公式,您必须在代码中进行计算。

这种方法的缺点是单元格中不再有实时公式,因此用户不会通过输出文件的任何更改自动更新。

感谢您提醒我们注意这个问题。

答案 1 :(得分:1)

此问题已在OfficeWriter最近的8.5.1版本中得到修复。现在,公式在.xlsx文件中的合并单元格中正确保留(这始终与.xls文件一起正常工作)。请参阅OfficeWriter change log