Bug 61469 - [PATCH] Support Array Formulas and Matrix Functions
Summary: [PATCH] Support Array Formulas and Matrix Functions
Status: RESOLVED FIXED
Alias: None
Product: POI
Classification: Unclassified
Component: SS Common (show other bugs)
Version: 3.17-dev
Hardware: PC All
: P2 enhancement (vote)
Target Milestone: ---
Assignee: POI Developers List
URL:
Keywords: PatchAvailable
Depends on:
Blocks:
 
Reported: 2017-08-29 15:48 UTC by Robert D Hulbert
Modified: 2017-10-26 10:28 UTC (History)
0 users



Attachments
Array Formula and Matrix Function Patch (52.01 KB, patch)
2017-08-29 15:48 UTC, Robert D Hulbert
Details | Diff
Numeric Array Formulas and Matrix Function Test Cases (14.53 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2017-08-29 15:50 UTC, Robert D Hulbert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert D Hulbert 2017-08-29 15:48:16 UTC
Created attachment 35267 [details]
Array Formula and Matrix Function Patch

Hi all,

Array formulas and matrix functions are currently not supported in any version of POI.

In order to store evaluated Excel arrays, I implemented CacheAreaEval which is based off of MockAreaEval which holds values for each of the cells in the array range.

I have also added MatrixFunction which allows for the evaluation of transpose, mdeterm, minverse, and mmult. This file does depend on commons math3.

The other modifications allow for the evaluation of arrays within the formula evaluation stack.

Please let me know if there are any changes that need to take place or any other information is necessary.

I apologize for the size of the patch; I have just recently received approval from Lawrence Livermore National Laboratory to release the code that was worked on all summer.

Best Regards,
Robert Hulbert
Comment 1 Robert D Hulbert 2017-08-29 15:50:11 UTC
Created attachment 35268 [details]
Numeric Array Formulas and Matrix Function Test Cases
Comment 2 PJ Fanning 2017-08-29 23:17:21 UTC
Thanks Robert. I have a preference for viewing the patches in github - and it allows for easier reviewing. If you have time, would you be able to fork https://github.com/apache/poi, apply your patch and then create a Pull Request?
Comment 3 PJ Fanning 2017-08-30 22:12:40 UTC
From http://apache-poi.1045710.n5.nabble.com/VOTE-Apache-POI-3-17-release-RC2-td5728603.html, it seems we are best off leaving this merge until 3.17 is released. Latest code is in https://github.com/apache/poi/pull/69
Comment 4 Dominik Stadler 2017-09-19 20:50:48 UTC
This seems to be applied via r1808297, is there anything still missing?