导出excel 时设置背景颜色
package com.sjdf.erp.web.test; import static org.junit.Assert.*; import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFPalette; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.Font; 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.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Test; /** * create in 2019年03月06日 * @category TODO * @author chenyi */ public class ExcelColorTest { @Test public void excelColorTest() throws Exception { SXSSFWorkbook workbook = new SXSSFWorkbook(); Sheet sheet = workbook.createSheet("Color Test"); Row row = sheet.createRow(0); XSSFCellStyle style = (XSSFCellStyle)workbook.createCellStyle(); // style.setFillForegroundColor(IndexedColors.GREEN.getIndex()); XSSFColor color = new XSSFColor(new java.awt.Color(111, 111, 111)); style.setFillForegroundColor(color); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); Font font = workbook.createFont(); font.setColor(IndexedColors.BLACK.getIndex()); style.setFont(font); Cell cell1 = row.createCell(0); cell1.setCellValue("ID"); cell1.setCellStyle(style); Cell cell2 = row.createCell(1); cell2.setCellValue("NAME"); cell2.setCellStyle(style); String pathname = "D:\\git\\erp\\erp-web\\src\\test\\java\\com\\sjdf\\erp\\web\\test\\" + "cp.xlsx"; FileOutputStream fos =new FileOutputStream(new File( pathname)); workbook.write(fos); fos.close(); System.out.println(pathname + "Done"); } @Test public void excelColor2Test() throws Exception { HSSFWorkbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("Color Test"); Row row = sheet.createRow(0); HSSFPalette palette = workbook.getCustomPalette(); palette.setColorAtIndex(HSSFColor.LAVENDER.index, (byte)111, (byte)111, (byte)111); HSSFColor hssfColor = palette.getColor(HSSFColor.LAVENDER.index); HSSFCellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(hssfColor.getIndex()); style.setFillPattern(CellStyle.SOLID_FOREGROUND); Font font = workbook.createFont(); font.setColor(IndexedColors.BLACK.getIndex()); style.setFont(font); Cell cell1 = row.createCell(0); cell1.setCellValue("ID"); cell1.setCellStyle(style); String pathname = "D:\\git\\erp\\erp-web\\src\\test\\java\\com\\sjdf\\erp\\web\\test\\" + "cp1.xls"; FileOutputStream fos =new FileOutputStream(new File( pathname)); workbook.write(fos); fos.close(); System.out.println(pathname + "Done"); } }