Hi,
The problem is in the formulas, they are using ";" instead of "," to separate parameters. For example, inside this file you have:
SUM((SUM(D42:D43;D46;D49:D55;D68;D70:D71)))
And it should be:
SUM((SUM(D42:D43,D46,D49,D55,D68,D70:D71)))
I am not sure on how this happened. While localized Excel versions (like mine which is in spanish) do use ";" instead of ",", internally the xlsx always must write ",".
And I tried to enter a formula like this: (again, in a spanish machine where "," is the decimal separator):
xls.SetCellValue(1, 1, tformula.create('=sum(a1;a2)'));
And it returns an error. What exact string are you using to enter the formulas?
That is, what line of code did you use to enter for example
=SUM((SUM(D42:D43;D46;D49:D55;D68;D70:D71)))
in your file?
Also, just to make sure: Haven't you localized the file
_FormulaMsg.Resources.pas
so SFm_fmFunctionSep is a ";" not a ',' ? I just realized that somewhere in the docs it says you could localize this, but reality is, you can't (or xlsx files will be written wrong).