avoid NPE when calling XSSF.setCellFormula(null) for a non-formula cell
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@766750 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
db553fd510
commit
a5afdd38d2
@ -359,9 +359,9 @@ public final class XSSFCell implements Cell {
|
|||||||
*/
|
*/
|
||||||
public void setCellFormula(String formula) {
|
public void setCellFormula(String formula) {
|
||||||
XSSFWorkbook wb = row.getSheet().getWorkbook();
|
XSSFWorkbook wb = row.getSheet().getWorkbook();
|
||||||
if (formula == null && cell.isSetF()) {
|
if (formula == null) {
|
||||||
wb.onDeleteFormula(this);
|
wb.onDeleteFormula(this);
|
||||||
cell.unsetF();
|
if(cell.isSetF()) cell.unsetF();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,7 +265,13 @@ public abstract class BaseTestCell extends TestCase {
|
|||||||
assertEquals("I changed!", c2.getStringCellValue());
|
assertEquals("I changed!", c2.getStringCellValue());
|
||||||
assertEquals(Cell.CELL_TYPE_FORMULA, c2.getCellType());
|
assertEquals(Cell.CELL_TYPE_FORMULA, c2.getCellType());
|
||||||
assertEquals(Cell.CELL_TYPE_STRING, c2.getCachedFormulaResultType());
|
assertEquals(Cell.CELL_TYPE_STRING, c2.getCachedFormulaResultType());
|
||||||
}
|
|
||||||
|
//calglin Cell.setCellFormula(null) for a non-formula cell
|
||||||
|
Cell c3 = r.createCell(2);
|
||||||
|
c3.setCellFormula(null);
|
||||||
|
assertEquals(Cell.CELL_TYPE_BLANK, c3.getCellType());
|
||||||
|
|
||||||
|
}
|
||||||
private Cell createACell() {
|
private Cell createACell() {
|
||||||
return _testDataProvider.createWorkbook().createSheet("Sheet1").createRow(0).createCell(0);
|
return _testDataProvider.createWorkbook().createSheet("Sheet1").createRow(0).createCell(0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user