Merge pull request #457 from wkk91193/fixing-formular-cell-evaluation-npe

Fixing Apache POI issue - Formula Cell evaluation nullpointer exception
This commit is contained in:
ShruthiRajaram
2019-02-04 16:27:56 +05:30
committed by GitHub
@@ -63,7 +63,12 @@ public class ImportHandlerUtils {
FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator(); FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) { if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
if(eval!=null) { if(eval!=null) {
CellValue val = eval.evaluate(c); CellValue val = null;
try {
val = eval.evaluate(c);
} catch (NullPointerException npe) {
return null;
}
return ((Double)val.getNumberValue()).longValue(); return ((Double)val.getNumberValue()).longValue();
} }
} }
@@ -85,7 +90,13 @@ public class ImportHandlerUtils {
FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator(); FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) { if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
if (eval!=null) { if (eval!=null) {
CellValue val = eval.evaluate(c); CellValue val = null;
try {
val = eval.evaluate(c);
} catch(NullPointerException npe) {
return null;
}
String res = trimEmptyDecimalPortion(val.getStringValue()); String res = trimEmptyDecimalPortion(val.getStringValue());
if (res!=null) { if (res!=null) {
if (!res.equals("")) { if (!res.equals("")) {
@@ -136,7 +147,12 @@ public class ImportHandlerUtils {
FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator(); FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) { if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
if(eval!=null) { if(eval!=null) {
CellValue val = eval.evaluate(c); CellValue val = null;
try {
val = eval.evaluate(c);
} catch (NullPointerException npe) {
return false;
}
return val.getBooleanValue(); return val.getBooleanValue();
} }
return false; return false;
@@ -158,7 +174,12 @@ public class ImportHandlerUtils {
FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator(); FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) { if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
if(eval!=null) { if(eval!=null) {
CellValue val = eval.evaluate(c); CellValue val = null;
try {
val = eval.evaluate(c);
} catch (NullPointerException npe) {
return null;
}
return ((Double)val.getNumberValue()).intValue(); return ((Double)val.getNumberValue()).intValue();
} }
return null; return null;
@@ -176,7 +197,12 @@ public class ImportHandlerUtils {
FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator(); FormulaEvaluator eval = row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) { if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
if (eval!=null) { if (eval!=null) {
CellValue val = eval.evaluate(c); CellValue val = null;
try {
val = eval.evaluate(c);
} catch (NullPointerException npe) {
return 0.0;
}
return val.getNumberValue(); return val.getNumberValue();
}else { }else {
return 0.0; return 0.0;