1

根据他们的文档: GemBox.Spreadsheet 可以读写公式,但不能计算公式结果。当您在 MS Excel 中打开 XLS 文件时,将自动计算公式结果。

因此,如果我创建一个带有一些注入值的电子表格并将其保存到磁盘,如果我在 excel 中打开文件,我可以看到计算值..

如果我在 gembox 中打开该文件并查找计算单元格的值,我得到的结果为 0

flexcel 中也存在相同的功能.. 无法从给定单元格中检索计算值.. 它返回零..

所以我正在做的是:

  1. 打开现有的 Excel 文件
  2. 将一些数字放入一些单元格
  3. 以不同的名称将文件保存到磁盘(也尝试使用相同的文件)
  4. 再次打开文件并查看作为计算单元格的总列

该值始终为 0.. 我在 excel 中打开文件.. 该值按预期计算。

4

2 回答 2

5

编辑 28-09-2016:
我们发布了新版本的 GemBox.Spreadsheet(4.1 版),其中我们实现了对单元格公式计算的支持,请参阅版本历史页面
此外,您可以在此处找到计算示例

原始答案
GemBox.Spreadsheet 目前仅支持由 Excel 计算的值(因此,如果文件由 MS Excel 保存,我们可以读取公式值)。GemBox.Spreadsheet 没有自己的计算引擎。

要读取XLS格式的公式值,请使用ExcelFile.LoadXls接受XlsOptions枚举的重载并使用XlsOptions.PreserveWorksheetRecordsor XlsOptions.PreserveAll

要读取XLSX格式的公式值,请ExcelFile.LoadXlsx使用XlsxOptions枚举值XlsxOptions.PreserveKeepOpenXlsxOptions.PreserveMakeCopy.

于 2011-12-07T09:27:46.707 回答
1

你的实际问题是什么?

单元格有两个属性:值和公式。您所看到的是 Excel 即时重新计算的价值。正如您所说,Gembox 不会重新计算值。

如果您需要公式评估,请寻找另一个库,例如Apache POI

于 2011-12-06T07:46:17.750 回答