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]

Reply via email to