Build 4.5.0.80 of xlsgen adds support for testing the parsing of formulas. Typically, writing a formula in a cell or to an object returns an exception if there is a problem, but it does not tell what the problem is. This parsing error is specifically the purpose of the introduced
TryParseFormula
method available at the
workbook level.
typedef enum
{
[helpstring("Formula parsing error, no error")] parseformula_noerror = 0,
[helpstring("Formula parsing error, syntax error")] parseformula_syntaxerror = 1,
[helpstring("Formula parsing error, out of memory")] parseformula_outofmemory = 2,
[helpstring("Formula parsing error, not enough parameters")] parseformula_notenoughparams = 3,
[helpstring("Formula parsing error, too many parameters")] parseformula_toomanyparams = 4,
[helpstring("Formula parsing error, impaired parenthesis")] parseformula_impairedparenthesis = 5,
[helpstring("Formula parsing error, impaired brace")] parseformula_impairedbrace = 6,
[helpstring("Formula parsing error, division by zero")] parseformula_divisionbyzero = 7,
[helpstring("Formula parsing error, function does not exist")] parseformula_functionnotexist = 8,
[helpstring("Formula parsing error, wrong argument separator")] parseformula_wrongargumentseparator = 9
} enumParseFormulaError;
It works like this :
C/C++ code |
xlsgen::enumParseFormulaError error = workbook->TryParseFormula(L"=SUMXYZ(5;3;A2)"); // returns parseformula_functionnotexist because SUMXYZ() does not exist
|