Ensure that evaluateInCell sets the underlying cell type properly (fix from Pavel Krupets)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@576504 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c4ca492849
commit
312b7ff2dc
@ -223,9 +223,11 @@ public class HSSFFormulaEvaluator {
|
|||||||
CellValue cv = getCellValueForEval(internalEvaluate(cell, row, sheet, workbook));
|
CellValue cv = getCellValueForEval(internalEvaluate(cell, row, sheet, workbook));
|
||||||
switch (cv.getCellType()) {
|
switch (cv.getCellType()) {
|
||||||
case HSSFCell.CELL_TYPE_BOOLEAN:
|
case HSSFCell.CELL_TYPE_BOOLEAN:
|
||||||
|
cell.setCellType(HSSFCell.CELL_TYPE_BOOLEAN);
|
||||||
cell.setCellValue(cv.getBooleanValue());
|
cell.setCellValue(cv.getBooleanValue());
|
||||||
break;
|
break;
|
||||||
case HSSFCell.CELL_TYPE_ERROR:
|
case HSSFCell.CELL_TYPE_ERROR:
|
||||||
|
cell.setCellType(HSSFCell.CELL_TYPE_ERROR);
|
||||||
cell.setCellValue(cv.getErrorValue());
|
cell.setCellValue(cv.getErrorValue());
|
||||||
break;
|
break;
|
||||||
case HSSFCell.CELL_TYPE_NUMERIC:
|
case HSSFCell.CELL_TYPE_NUMERIC:
|
||||||
@ -233,6 +235,7 @@ public class HSSFFormulaEvaluator {
|
|||||||
cell.setCellValue(cv.getNumberValue());
|
cell.setCellValue(cv.getNumberValue());
|
||||||
break;
|
break;
|
||||||
case HSSFCell.CELL_TYPE_STRING:
|
case HSSFCell.CELL_TYPE_STRING:
|
||||||
|
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
|
||||||
cell.setCellValue(cv.getRichTextStringValue());
|
cell.setCellValue(cv.getRichTextStringValue());
|
||||||
break;
|
break;
|
||||||
case HSSFCell.CELL_TYPE_BLANK:
|
case HSSFCell.CELL_TYPE_BLANK:
|
||||||
|
Loading…
Reference in New Issue
Block a user