Hi, for a small project of mine I also needed to replace the implementation of some POI/Excel functions with different implementations. It is possible, albeit a bit hacky as you need to place a class into the org.apache.poi...package-namespace so you can access package-private interfaces. So it's a somewhat ugly workaround, but has been working fine for me with each release of POI since around 3.8.
Let me know if you would like more details... Dominik. On Tue, Mar 17, 2015 at 4:16 PM, Bryan Varner <bryan.var...@e-gineering.com> wrote: > > On Mar 17, 2015, at 10:43 AM, Nick Burch > <apa...@gagravarr.org<mailto:apa...@gagravarr.org>> wrote: > > On Tue, 17 Mar 2015, Bryan Varner wrote: > I’m working with a client making use of POI to do some heavy calculations of > workbook formulas in java. > > We’re having issues with the precision of some of the math functions > (TwoOperandNumericOperation) being based on double math rather than > BigDecimal math. > > I believe that Excel uses doubles internally as well, no big decimals. The > problem is that it doesn't quite use the same rounding as Java does. There's > a bit of an explanation of the problems this can cause in this stackoverflow > discussion: > http://stackoverflow.com/questions/28537614/matching-excels-floating-point-in-java > > If your problem is that, then I'm not sure that dropping in a big decimal > will work, as the Java big decimal's rounding rules don't match the Excel ones > > David North has been doing lots of work on / around this area, so we might > want to wait for him to chime in > > Nick > > Thanks Nick for the input. The client has a 3.9 fork they’ve been using > internally, but wants to get something functionally identical merged > upstream. They’ve switched things to use BigDecimal internally, and made use > of http://arxiv.org/abs/0908.3030v2 in their fork to get the numbers they > expected. > > I think waiting on David to chime in sounds like a good idea. > > My client has been over this a _lot_, and they swear their computations are > (more) accurate now when compared to Excel. I tend to trust them on this, due > to the nature of the workbooks they’re evaluating, and the … critical nature > of getting these numbers right for their business… > > Being that their code is based off of 3.9, I started looking at ways we could > at least make adjustments to the POI code to let us drop in their calculation > functions or forward-port to a newer POI release. They do want to contribute > upstream if possible, especially if it reduces the long-term maintenance > burden. In my digging, I’ve noticed a few other oddities (but I’m looking at > the 3.9 release code right now) and low-hanging places to improve things in > POI, but my focus right now is still on getting the math results my client > says they need. > > What’s the best way to contribute back upstream at this point? Are pull > requests from github still frowned upon? > > -Bryan > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org