Fixing Apache POI issue - Formula Cell evaluation nullpointer exception
This commit is contained in:
+33
-7
@@ -63,8 +63,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;
|
||||||
return ((Double) val.getNumberValue()).longValue();
|
try {
|
||||||
|
val = eval.evaluate(c);
|
||||||
|
} catch (NullPointerException npe) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return ((Double)val.getNumberValue()).longValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC){
|
else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC){
|
||||||
@@ -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,8 +174,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;
|
||||||
return ((Double) val.getNumberValue()).intValue();
|
try {
|
||||||
|
val = eval.evaluate(c);
|
||||||
|
} catch (NullPointerException npe) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return ((Double)val.getNumberValue()).intValue();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC) {
|
}else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC) {
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user