From fce60a6630f7fbbc610ae49d0114c44d040928e0 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Thu, 20 Mar 2008 10:06:59 +0000 Subject: [PATCH] Test relating to bug #44636 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@639231 13f79535-47bb-0310-9956-ffa450edef68 --- .../hssf/usermodel/HSSFFormulaEvaluator.java | 30 ++++++ .../usermodel/TestFormulaEvaluatorBugs.java | 88 ++++++++++++++++++ .../org/apache/poi/hssf/data/44636.xls | Bin 0 -> 13824 bytes 3 files changed, 118 insertions(+) create mode 100644 src/scratchpad/testcases/org/apache/poi/hssf/usermodel/TestFormulaEvaluatorBugs.java create mode 100644 src/testcases/org/apache/poi/hssf/data/44636.xls diff --git a/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java b/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java index 58ab5b47a..bb16fdfad 100644 --- a/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java +++ b/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java @@ -19,6 +19,7 @@ package org.apache.poi.hssf.usermodel; import java.lang.reflect.Constructor; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.Stack; @@ -251,6 +252,35 @@ public class HSSFFormulaEvaluator { } return cell; } + + /** + * Loops over all cells in all sheets of the supplied + * workbook. + * For cells that contain formulas, their formulas are + * evaluated, and the results are saved. These cells + * remain as formula cells. + * For cells that do not contain formulas, no changes + * are made. + * This is a helpful wrapper around looping over all + * cells, and calling evaluateFormulaCell on each one. + */ + public static void evaluateAllFormulaCells(HSSFWorkbook wb) { + for(int i=0; ihq5fwwCs0r``$ddR2jl@?75&sn9KY#d$L`k6Qch240?vqp#jE|YknYnZ3 z%sFSinS1AP?|$)l?eNhLW?VyFSPm~n(&Z@2;#<6)?&gDFc{(jwH=V|7vP}3FAy6J* zN0#|fZC{%3Ns5AS!f_>Rj+&YaXY5cy*oz=LNCBOn4dT38%39rC;a<+plq0<7&nhPHUa3%2|XNxJdc* z^9N+81HFE01rpeXPW0l=mDc-a!H=mxcwTsJ%iOt<_Qqvx4Q{5bvEDa__u;IZ@+a2C zyPwPz3bT`Dj|nY|;Xozck_Tplb|R5_-%7lVSP`w#FGbXr)*Hk-sLbiJVNBK$ zdOdAx>O?79_%e2t|EpVcd%oOE#pFxzMQbtn|1#f#EzQdW7tdw~hu`!0jV1UkCHPGx z_~k|UVom+&$hX^qIhG9+@S9;3<-?KhMkcuJYH{QX_!;@$G5LcYAA(75TGHBNnWl9~ zpQe+N6EsB7)Rs`MU>kIKWA64E$}jdWcGhNCQC z7>?R)8z>vVbEr~IUogbHPxDgi+p4L2tT=g(XssU0d$~?~wK_Cf?xWo5sd=D-}dQ6j96-9-I@BK6RT1*Lhb2{5m6#N=qM31LR=Fa zj}?0AQ6&^$`57vq(rhKtwbRrSfiHyJ*F!}-k&X@F9tmCNsDw(hm3T*$2;Lz~PfjeN z#HUJ*?P#socq=Q1(-%(dY32|i^A^G9Uq0>}Cr6XCG_{o@o^Qd4i zd8uw1^H;bA+eCY2*gDz#w1{FbEg~3<3rLgMdN6 zAYc$M2p9wm0xkl#+y8qmU%GsF;mqK{L)`zj+;~s+{~wdeNwWW6OR6DlBFQOuH;Jz) z`L5jA+Yd68egCs0o|R({NzMcIk>q^f2r2tKfX4zFWDj36zfyGxLv%{WPwRPrAb!Ys zg!38+Rb+`uIbIO)js1z90eQnTpl8e?ZGu6-AYc$M2p9wm0tNwtfI+|@U=T0}7zF-* z2*{3DHq5f;mi@PU2qqt2$(~yN*CBg-`3Ork)3Rrm{kwccDEodXuVpIl{AHi-e*Y+Y zeK`-1@>?WHP55UbunztF4Z`MEdfS;M@Cie}RnJ7eB^bkq1Q*{8*2j=;NLvsI&*S>t;q94C7@#6tn=u#iz+5>;ipCx~x{o3?Q`~Lv&QFZhH literal 0 HcmV?d00001