Reputation: 73
According to their docs: GemBox.Spreadsheet can read and write formulas, but can not calculate formula results. When you open a XLS file in MS Excel, formula results will be calculated automaticaly.
So if i create a spreadsheet with some injected values and save it to disk if i open the file in excel i can see the calculated values..
if i open that file in gembox and look up the calculated cell's values i get a result of 0
the same functionality exists in flexcel as well.. can't retrieve the calculated value from a given cell.. it returns zero..
So what I'm doing is:
The value is always 0.. I open the file in excel.. the value is calculated as expected.
Upvotes: 1
Views: 4192
Reputation: 669
EDIT 28-09-2016:
We have released a new version of GemBox.Spreadsheet (version 4.1) in which we implemented a support for cell formula calculation, see the version history page.
Also, you can find the calculation example here.
ORIGINAL ANSWER
GemBox.Spreadsheet currently supports only values that are calculated by the Excel (so if file is saved by the MS Excel, we can read formula values). GemBox.Spreadsheet does not have its own calculation engine.
To read formula values in XLS format use ExcelFile.LoadXls
overload that accepts XlsOptions
enumeration and use XlsOptions.PreserveWorksheetRecords
or XlsOptions.PreserveAll
.
To read formula values in XLSX format use ExcelFile.LoadXlsx
method with XlsxOptions
enumeration values XlsxOptions.PreserveKeepOpen
or XlsxOptions.PreserveMakeCopy
.
Upvotes: 5
Reputation: 496
What is your actual question?
Cells have two properties: values and formulas. What you're seeing is value beeing recalculated by Excel on the fly. Gembox, as you said, doesn't recalculate the values.
If you need formula evaluation, look for another library, for example Apache POI.
Upvotes: 1