I implemented the current table formula handling, based on a patch I found languishing in the bug database. It's been a year or so, but here's what I remember:
Data Table syntax works in most cases, but there is definitely room for more test cases looking for bugs in less common scenarios - Unicode in table header names, characters requiring quoting, references to the current or external workbooks are some I can think of off the top. There are exceptions and JavaDoc notes in many places stating array formulas are not supported, and some open bugs about functions that work only partially or incorrectly because of incomplete array formula support. For example you can set array formulas for a sheet, but POI doesn't evaluate them when calculating. I don't think there is much support at all currently for anything matrix related. Parsing array syntax will be a tricky challenge, but if done would likely allow a good portion of array/matrix function implementations without much further fuss. Table formula syntax is not allowed by Excel in places like chart definitions. If someone wanted to work on functionality similar to that in Excel that can attempt to infer table/chart relationships, and thus offer some support for automatically adjusting chart definitions based on table additions/deletions, that would be an amazingly helpful feature to many users, I suspect (and myself for sure! :) ) Somewhere on one of the mailing lists was a good collection of links to pages and videos related to implementing functions in POI, but I'm failing to find them right now. On Tue, Jun 27, 2017 at 1:01 PM Hulbert, Robert Douglas <[email protected]> wrote: > Hi, > > I'm a summer student at Lawrence Livermore National Laboratory and was > hired to find or implement POI's table formulas and matrix functions. > > Over the last week or so, I have checked the POI page/Contributor > guidelines and have looked through the source code for handling this > functionality. > > Is anyone still interested in this functionality? If not, is there any > documentation on where this aspect left off? > > Thank you so much for any help you can give! > > Best Regards, > Robert Hulbert >
