[
https://issues.jboss.org/browse/DROOLS-556?page=com.atlassian.jira.plugin...
]
Winfried Umbrath updated DROOLS-556:
------------------------------------
Description:
To reproduce:
- in a decision table merge 2 cells with each other
- in the merged cell create a reference to another cell e.g. "=D21"
Result:
The value of the merged cell is parsed as "D21"
Expected result:
The value of the merged cell should be the same as the referenced one
The bug is in ExcelParser.processSheet. A quick fix is replacing
{code:java}
Cell topLeft = sheet.getRow( merged.getFirstRow() ).getCell( merged.getFirstColumn() );
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
{code}
with
{code:java}
if(topLeft.getCellType() == Cell.CELL_TYPE_FORMULA) {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft, formulaEvaluator ),
topLeft.getColumnIndex() );
} else {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
}
{code}
There are probably some more cases missing as numeric referenced values seem to still not
be parsed properly.
was:
To reproduce:
- in a decision table merge 2 cells with each other
- in the merged cell create a reference to another cell e.g. "=D21"
Result:
The value of the merged cell is parsed as "D21"
Expected result:
The value of the merged cell should be the same as the referenced one
The bug is in ExcelParser.processSheet. A quick fix is replacing
Cell topLeft = sheet.getRow( merged.getFirstRow() ).getCell( merged.getFirstColumn() );
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
with
if(topLeft.getCellType() == Cell.CELL_TYPE_FORMULA) {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft, formulaEvaluator ),
topLeft.getColumnIndex() );
} else {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
}
There are probably some more cases missing as numeric referenced values seem to still not
be parsed properly.
Merged cells referencing other cells not parsed correctly in decision
tables
----------------------------------------------------------------------------
Key: DROOLS-556
URL:
https://issues.jboss.org/browse/DROOLS-556
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 6.0.1.Final, 6.1.0.CR2
Reporter: Winfried Umbrath
Assignee: Mark Proctor
To reproduce:
- in a decision table merge 2 cells with each other
- in the merged cell create a reference to another cell e.g. "=D21"
Result:
The value of the merged cell is parsed as "D21"
Expected result:
The value of the merged cell should be the same as the referenced one
The bug is in ExcelParser.processSheet. A quick fix is replacing
{code:java}
Cell topLeft = sheet.getRow( merged.getFirstRow() ).getCell( merged.getFirstColumn() );
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
{code}
with
{code:java}
if(topLeft.getCellType() == Cell.CELL_TYPE_FORMULA) {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft, formulaEvaluator ),
topLeft.getColumnIndex() );
} else {
newCell( listeners,
i,
cellNum,
formatter.formatCellValue( topLeft ),
topLeft.getColumnIndex() );
}
{code}
There are probably some more cases missing as numeric referenced values seem to still not
be parsed properly.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)