diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFColor.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFColor.java index 5ca0f552a..1d7835a3c 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFColor.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFColor.java @@ -25,6 +25,9 @@ public class XSSFColor { public XSSFColor(CTColor color) { this.color = color; + if (this.color == null) { + this.color = CTColor.Factory.newInstance(); + } } public boolean isAuto() { diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java index d368d3aaa..eea36b2f7 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java @@ -59,26 +59,28 @@ public class TestXSSFCellStyle extends TestCase { ctBorderA = CTBorder.Factory.newInstance(); XSSFCellBorder borderA = new XSSFCellBorder(ctBorderA); long borderId = stylesTable.putBorder(borderA); - assertEquals(0, borderId); + assertEquals(1, borderId); XSSFCellBorder borderB = new XSSFCellBorder(); - assertEquals(1, stylesTable.putBorder(borderB)); + assertEquals(2, stylesTable.putBorder(borderB)); ctFill = CTFill.Factory.newInstance(); XSSFCellFill fill = new XSSFCellFill(ctFill); long fillId = stylesTable.putFill(fill); - assertEquals(0, fillId); + assertEquals(1, fillId); ctFont = CTFont.Factory.newInstance(); XSSFFont font = new XSSFFont(ctFont); long fontId = stylesTable.putFont(font); - assertEquals(0, fontId); + assertEquals(1, fontId); cellStyleXf = ctStylesheet.addNewCellStyleXfs().addNewXf(); - cellStyleXf.setBorderId(0); + cellStyleXf.setBorderId(1); + cellStyleXf.setFillId(1); + cellStyleXf.setFontId(1); cellXfs = ctStylesheet.addNewCellXfs(); cellXf = cellXfs.addNewXf(); - cellXf.setXfId(0); + cellXf.setXfId(1); cellStyle = new XSSFCellStyle(cellXf, cellStyleXf, stylesTable); }