What you are trying to do is a little unusual - adding an Excel 2007 feature
in an Excel 97 (HSSF/BIFF8/.xls) file.  Having said that, Excel *can* do
this with a little coaxing, and POI *will* need to handle post-BIFF8
features within XSSF.

So far, POI doesn't support much more than the standard 'built-in' functions
of Excel 97. That's why you are getting the formula parser error. There is
no way around formula parsing - the Ptg tokens also need to be encoded
somehow (and in XSSF, formula parsing is still required as a syntax check).

It seems like Excel encodes SUMIFS using a NamePtg that points to a defined
name called "_xlfn.sumifs".  This technique is different again to that used
for 'add-in' functions (which POI partially supports).  To make this all
work, POI needs to:
 - recognise this category of function and get the metadata (needed for
operand class transformation of parameters)
 - find or add the appropriate DEFINEDNAME record (seems like some extra
flags (0x380) are required)

Some thought would also need to be given (in the HSSF world) to version
issues.  Even though Excel 2007 can save BIFF8 (.xls) files containing
SUMIFS(), it does so with warnings.  Apparently Excel 97 will fail to
evaluate those formulas.

If evaluation (by POI) is required, the formula evaluator will need changing
too.

New contributors and patches are always welcome.

Reply via email to