You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@poi.apache.org by Hepzibah Rajulah <he...@googlemail.com> on 2010/06/07 20:57:32 UTC
Named Range
I have a template with named ranges to get the graph
With POI 3.0.2
I had defined done the following to change the reference to the named range
int namedCellIdx = wb.getNameIndex("Month");
HSSFName namedCell = wb.getNameAt(namedCellIdx);
String reference = namedCell.getSheetName() + "!" + "$C$" +
dataRowBegin + ":" + "$C$" + dataRows;
namedCell.setReference(reference);
which changed the named range and worked fine ...
When i switched to POI 3.6 threw the following exception
org.apache.poi.ss.formula.FormulaParseException: Specified named range
'Reifegrad' does not exist in the current workbook.
at
org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:562)
at
org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:423)
at
org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java:266)
at
org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1112)
at
org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1072)
at
org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1059)
at org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1410)
at
org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1510)
at
org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1494)
at
org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1451)
at
org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1431)
at
org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1552)
at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:174)
at
org.apache.poi.hssf.model.HSSFFormulaParser.parse(HSSFFormulaParser.java:72)
at
org.apache.poi.hssf.usermodel.HSSFName.setRefersToFormula(HSSFName.java:164)
at
org.apache.poi.hssf.usermodel.HSSFName.setReference(HSSFName.java:160)
and then changed the code
int namedCellIdx = wb.getNameIndex("BTTPMonat");
Name namedCell = wb.getNameAt(namedCellIdx);
String reference = namedCell.getSheetName() + "!" + "$C$" +
dataRowBegin + ":" + "$C$" + dataRows;
namedCell.setRefersToFormula(reference);
Still throws the exception as stated below
org.apache.poi.ss.formula.FormulaParseException: Specified named range
'Reifegrad' does not exist in the current workbook.
at
org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:562)
at
org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:423)
at
org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java:266)
at
org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1112)
at
org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1072)
at
org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1059)
at org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1410)
at
org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1510)
at
org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1494)
at
org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1451)
at
org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1431)
at
org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1552)
at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:174)
at
org.apache.poi.hssf.model.HSSFFormulaParser.parse(HSSFFormulaParser.java:72)
at
org.apache.poi.hssf.usermodel.HSSFName.setRefersToFormula(HSSFName.java:164)
Where do i go wrong ...Help please
Thanks ,