https://issues.apache.org/bugzilla/show_bug.cgi?id=45354
Summary: Complex formula calcuation does not support named cells
Product: POI
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: HSSF
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
Created an attachment (id=22223)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=22223)
Example referenced in the description
I reported something similar in
https://issues.apache.org/bugzilla/show_bug.cgi?id=45353 but the stack trace is
totally different, so I thought to make a new ticket. Sorry if its a dupe.
When using named cells with the following formula (where tappab, tapp, pfy1 and
totall are named cells):
=IF(tappab<0;-21;IF(tapp+pfy1<>totall;-11;0))
I get the error:
Exception in thread "main" java.lang.IllegalArgumentException: Specified colIx
(1012) is out of range
at
org.apache.poi.hssf.record.formula.RefPtgBase.setColumn(RefPtgBase.java:144)
at
org.apache.poi.hssf.record.formula.RefPtgBase.<init>(RefPtgBase.java:61)
at org.apache.poi.hssf.record.formula.RefPtg.<init>(RefPtg.java:35)
at
org.apache.poi.hssf.model.FormulaParser.parseIdentifier(FormulaParser.java:277)
at
org.apache.poi.hssf.model.FormulaParser.parseFunctionOrIdentifier(FormulaParser.java:229)
at
org.apache.poi.hssf.model.FormulaParser.parseSimpleFactor(FormulaParser.java:468)
at
org.apache.poi.hssf.model.FormulaParser.percentFactor(FormulaParser.java:433)
at
org.apache.poi.hssf.model.FormulaParser.powerFactor(FormulaParser.java:420)
at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java:628)
at
org.apache.poi.hssf.model.FormulaParser.additiveExpression(FormulaParser.java:725)
at
org.apache.poi.hssf.model.FormulaParser.concatExpression(FormulaParser.java:693)
at
org.apache.poi.hssf.model.FormulaParser.comparisonExpression(FormulaParser.java:650)
at
org.apache.poi.hssf.model.FormulaParser.Arguments(FormulaParser.java:405)
at
org.apache.poi.hssf.model.FormulaParser.function(FormulaParser.java:308)
at
org.apache.poi.hssf.model.FormulaParser.parseFunctionOrIdentifier(FormulaParser.java:227)
at
org.apache.poi.hssf.model.FormulaParser.parseSimpleFactor(FormulaParser.java:468)
at
org.apache.poi.hssf.model.FormulaParser.percentFactor(FormulaParser.java:433)
at
org.apache.poi.hssf.model.FormulaParser.powerFactor(FormulaParser.java:420)
at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java:628)
at
org.apache.poi.hssf.model.FormulaParser.additiveExpression(FormulaParser.java:709)
at
org.apache.poi.hssf.model.FormulaParser.concatExpression(FormulaParser.java:693)
at
org.apache.poi.hssf.model.FormulaParser.comparisonExpression(FormulaParser.java:650)
at
org.apache.poi.hssf.model.FormulaParser.Arguments(FormulaParser.java:405)
at
org.apache.poi.hssf.model.FormulaParser.function(FormulaParser.java:308)
at
org.apache.poi.hssf.model.FormulaParser.parseFunctionOrIdentifier(FormulaParser.java:227)
at
org.apache.poi.hssf.model.FormulaParser.parseSimpleFactor(FormulaParser.java:468)
at
org.apache.poi.hssf.model.FormulaParser.percentFactor(FormulaParser.java:433)
at
org.apache.poi.hssf.model.FormulaParser.powerFactor(FormulaParser.java:420)
at org.apache.poi.hssf.model.FormulaParser.Term(FormulaParser.java:628)
at
org.apache.poi.hssf.model.FormulaParser.additiveExpression(FormulaParser.java:709)
at
org.apache.poi.hssf.model.FormulaParser.concatExpression(FormulaParser.java:693)
at
org.apache.poi.hssf.model.FormulaParser.comparisonExpression(FormulaParser.java:650)
at
org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java:751)
at
org.apache.poi.hssf.model.FormulaParser.parse(FormulaParser.java:113)
at
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateCell(HSSFFormulaEvaluator.java:346)
at
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.internalEvaluate(HSSFFormulaEvaluator.java:338)
at
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCell(HSSFFormulaEvaluator.java:183)
at
org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateAllFormulaCells(HSSFFormulaEvaluator.java:278)
at
NamedCellComplicatedFormulaTest.main(NamedCellComplicatedFormulaTest.java:20)
In the example I have attached, the formula is in A2, and the named cells are
in the first row.
Note: this is in 3.1Final.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]