https://issues.apache.org/bugzilla/show_bug.cgi?id=49725
Summary: org.apache.poi.ss.formula.FormulaParseException on
valid names in formula, with "6_" in name
Product: POI
Version: 3.6
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: normal
Priority: P2
Component: POI Overall
AssignedTo: [email protected]
ReportedBy: [email protected]
I have an excel file merge program that is experiencing a FormulaParseException
when copying valid formula to a new workbook.
I believe it is a parser bug when the name contains a digit followed by an
underscore. See the program output at the end.
The program flow is:
1. create new empty sheets with same names in target workbook
2. copy Name definitions from source workbook
3. copy cells' contents, including formulae from old sheet to new sheet
If I change the Name names to remove the digit/underscore condition the
exception does not occur. e.g. if the name "DA6_LEO_WBS_Number" is changed to
"DA6xLEO_WBS_Number" then the program continues to successful completion. I
have a workaround that changes the Name names when copyinf Name definitions and
making the Name references in formulae when copying cells.
------------------------------------output-------------------------
copying name DA6_LEO_WBS_Number as 'DA6 LEO WBS MOPDR'!$A$1:$A$24
Copying data for sheet DA6 LEO WBS MOPDR
Copying data for sheet DA6 LEO Mat MOPDR
Exception in thread "main" org.apache.poi.ss.formula.FormulaParseException:
Parse error near char 9 '_' in specified formula
'INDEX(DA6_LEO_WBS_Name,MATCH($A3,DA6_LEO_WBS_Number,0))'. Expected ',' or ')'
at
org.apache.poi.ss.formula.FormulaParser.expected(FormulaParser.java:217)
at
org.apache.poi.ss.formula.FormulaParser.Arguments(FormulaParser.java:1049)
at
org.apache.poi.ss.formula.FormulaParser.function(FormulaParser.java:929)
at
org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:551)
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.HSSFCell.setCellFormula(HSSFCell.java:588)
at workbookmerge.ExcelUtil.copyCell(ExcelUtil.java:124)
at workbookmerge.ExcelUtil.copyRow(ExcelUtil.java:58)
at workbookmerge.ExcelUtil.copySheets(ExcelUtil.java:35)
at workbookmerge.ExcelUtil.copySheets(ExcelUtil.java:23)
at workbookmerge.Main.main(Main.java:166)
--
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]