poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yegor Kozlov <yegor.koz...@dinom.ru>
Subject Re: Table Formula Manipulation and Matrix Function Implementation in HSSF/XSSF
Date Thu, 27 Jul 2017 06:07:16 GMT
Even if we go for the Commons Math route we need to recognize and support
the array formula syntax from the Formula Evaluator module.
Correct  me if I'm wrong, but POI still doesn't support arrays as formula
arguments and constructions like below will fail :

=SUM(C2:C11*D2:D11)
=SQRT({1,2;3,4})

Once we support the array formula operands we can plug in Commons Math to
do the actual computations.

There was a patch a few years back
https://bz.apache.org/bugzilla/show_bug.cgi?id=48292 which tried to address
it. Unfortunately it wasn't applied. The code needed  work and no one
volunteered to finish it. It might be a good start to revisit it and
integrate in trunk.

On Wed, Jul 26, 2017 at 11:40 PM, Dominik Stadler <dominik.stadler@gmx.at>
wrote:

> Na, the main test-runs should still verify all functionality with all
> required dependencies, we are talking about a separate build-config which
> verifies this specific requirement to not have the dependency being
> introduced in other functionality unintentionally.
>
> Dominik.
>
> On Wed, Jul 26, 2017 at 9:58 PM, Robert Hulbert <bob951321@gmail.com>
> wrote:
>
> > For personal clarification, tests will be generated for this
> > functionality, however, these tests and the dependency will not be
> included
> > in the main test set?
> >
> > On 2017-07-26 11:58 (-0700), Greg Woolsey <greg.woolsey@gmail.com>
> wrote:
> > > The runtime JARs for Commons Math are 2.2MB, the rest of the release
> > > package is source and docs.  If users really need the minimum required
> > > packaging, they can use something like Maven Shade [1].
> > >
> > > I like the idea of running tests without this dependency and just
> > skipping
> > > tests that need it.
> > >
> > > Perhaps we could use an annotation to identify tests to skip in a
> > > particular run, so we don't need to maintain a master list?
> > >
> > > 1. https://maven.apache.org/plugins/maven-shade-plugin/
> > >
> > > On Wed, Jul 26, 2017 at 11:20 AM Javen O'Neal <javenoneal@gmail.com>
> > wrote:
> > >
> > > > +1 to Apache Commons Math.
> > > >
> > > > Can we write tests to verify that this dependency is only needed for
> > > > certain packages? I hope I'm wrong, but 20 MB is large enough that
> some
> > > > people may not want to update to newer versions of POI.
> > > >
> > > > On Jul 26, 2017 10:28 AM, "Greg Woolsey" <greg.woolsey@gmail.com>
> > wrote:
> > > >
> > > > > We aren't averse to dependency changes, we did one in the past
> > year.  My
> > > > > personal preference is the Commons Math library, as it is also an
> > Apache
> > > > > project and more importantly still under active development.  JAMA
> > > > appears
> > > > > dead, and calls itself a straw-man implementation.
> > > > >
> > > > > We could note that if a user doesn't need Excel matrix function
> > > > evaluation
> > > > > they would not need to include that library at run time.  Until we
> > start
> > > > > using the Commons Math functionality for more stuff :)
> > > > >
> > > > > Actually, there are likely statistical functions we could implement
> > using
> > > > > it as well, among others.
> > > > >
> > > > > On Wed, Jul 26, 2017 at 9:18 AM Robert Hulbert <
> bob951321@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Following up, there are two external Matrix Libraries that I
am
> > > > familiar
> > > > > > with (JAMA and Commons.Math3.Linear). Both of these libraries
> > provide
> > > > all
> > > > > > the functionality necessary to emulate the Excel Matrix
> > functionality.
> > > > > The
> > > > > > Linear library is 2MB and JAMA is ~20KB. I understand this would
> be
> > > > > adding
> > > > > > a dependency to the project. Is there a preference on which
> library
> > > > would
> > > > > > be used or is the preferred solution to implement the
> functionality
> > > > > > directly in POI?
> > > > > >
> > > > > > On 2017-06-27 15:51 (-0700), "Javen O'Neal" <onealj@apache.org>
> > wrote:
> > > > > > > Greg Woolsey has provided quite a few improvements on Table
> > support
> > > > for
> > > > > > > XSSF recently (last 6-12 months).
> > > > > > >
> > > > > > > Question to the devs: Are tables part of the XLS binary
file
> > format,
> > > > > and
> > > > > > if
> > > > > > > so are users interested in a common SS Table interface?
> > > > > > >
> > > > > > > Question to Robert: Is LLNL particularly interested in
using
> POI
> > to
> > > > > read
> > > > > > > and write workbooks containing tables and matrix (table
or
> > array?)
> > > > > > > functions? Or were they more interested in having an intern
> help
> > out
> > > > on
> > > > > > an
> > > > > > > open source project and table support was one idea they
had?
> > > > > > >
> > > > > > >
> > > > > > > On Jun 27, 2017 1:01 PM, "Hulbert, Robert Douglas" <
> > > > hulbert2@llnl.gov>
> > > > > > > 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
> > > > > > >
> > > > > >
> > > > > > ------------------------------------------------------------
> > ---------
> > > > > > To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> > > > > > For additional commands, e-mail: dev-help@poi.apache.org
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> > For additional commands, e-mail: dev-help@poi.apache.org
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message