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 4ec812d306..6c7893ed56 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java @@ -23,16 +23,20 @@ import junit.framework.TestCase; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.DataFormat; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.model.StylesTable; import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder; import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; public class TestXSSFCellStyle extends TestCase { @@ -891,4 +895,50 @@ public class TestXSSFCellStyle extends TestCase { assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb)); assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wbOrig)); } + + @Test + public void testSetColor() throws IOException { + Workbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(); + Row row = sheet.createRow(0); + + //CreationHelper ch = wb.getCreationHelper(); + DataFormat format = wb.createDataFormat(); + Cell cell = row.createCell(1); + cell.setCellValue("somevalue"); + CellStyle cellStyle = wb.createCellStyle(); + + + cellStyle.setDataFormat(format.getFormat("###0")); + + cellStyle.setFillBackgroundColor(IndexedColors.DARK_BLUE.getIndex()); + cellStyle.setFillForegroundColor(IndexedColors.DARK_BLUE.getIndex()); + cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); + + cellStyle.setAlignment(CellStyle.ALIGN_RIGHT); + cellStyle.setVerticalAlignment(CellStyle.VERTICAL_TOP); + + cell.setCellStyle(cellStyle); + + /*OutputStream stream = new FileOutputStream("C:\\temp\\CellColor.xlsx"); + try { + wb.write(stream); + } finally { + stream.close(); + }*/ + + Workbook wbBack = XSSFTestDataSamples.writeOutAndReadBack(wb); + Cell cellBack = wbBack.getSheetAt(0).getRow(0).getCell(1); + assertNotNull(cellBack); + CellStyle styleBack = cellBack.getCellStyle(); + assertEquals(IndexedColors.DARK_BLUE.getIndex(), styleBack.getFillBackgroundColor()); + assertEquals(IndexedColors.DARK_BLUE.getIndex(), styleBack.getFillForegroundColor()); + assertEquals(CellStyle.ALIGN_RIGHT, styleBack.getAlignment()); + assertEquals(CellStyle.VERTICAL_TOP, styleBack.getVerticalAlignment()); + assertEquals(CellStyle.SOLID_FOREGROUND, styleBack.getFillPattern()); + + wbBack.close(); + + wb.close(); + } }