POI 设置单元格背景色,背景色编码与实际颜色对照表详解编程语言

package com.java.connect.poi; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import org.apache.poi.ss.usermodel.Cell; 
import org.apache.poi.ss.usermodel.CellStyle; 
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.Workbook; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
public class POIFillAndColorExample { 
public static void main(String[] args) throws IOException { 
// Create a workbook object 
Workbook workbook = new XSSFWorkbook(); 
// Create sheet 
Sheet sheet = workbook.createSheet(); 
// Create a row and put some cells in it. 
Row row = sheet.createRow((short) 1); 
// Aqua background 
CellStyle style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.AQUA.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
Cell cell = row.createCell((short) 1); 
cell.setCellValue("X1"); 
cell.setCellStyle(style); 
// Orange "foreground", foreground being the fill foreground not the 
// font color. 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.AUTOMATIC.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row.createCell((short) 2); 
cell.setCellValue("X2"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row.createCell((short) 3); 
cell.setCellValue("X3"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.BLUE_GREY.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row.createCell((short) 4); 
cell.setCellValue("X4"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.BRIGHT_GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row.createCell((short) 5); 
cell.setCellValue("X5"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row2 = sheet.createRow((short) 2); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.BROWN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row2.createCell((short) 1); 
cell.setCellValue("X6"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.CORAL.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row2.createCell((short) 2); 
cell.setCellValue("X7"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.CORNFLOWER_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row2.createCell((short) 3); 
cell.setCellValue("X8"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.DARK_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row2.createCell((short) 4); 
cell.setCellValue("X9"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.DARK_GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row2.createCell((short) 5); 
cell.setCellValue("X10"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row3 = sheet.createRow((short) 3); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.DARK_RED.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row3.createCell((short) 1); 
cell.setCellValue("X11"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.DARK_TEAL.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row3.createCell((short) 2); 
cell.setCellValue("X12"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.DARK_YELLOW.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row3.createCell((short) 3); 
cell.setCellValue("X13"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GOLD.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row3.createCell((short) 4); 
cell.setCellValue("X14"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row3.createCell((short) 5); 
cell.setCellValue("X15"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row4 = sheet.createRow((short) 4); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row4.createCell((short) 1); 
cell.setCellValue("X16"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row4.createCell((short) 2); 
cell.setCellValue("X17"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row4.createCell((short) 3); 
cell.setCellValue("X18"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.GREY_80_PERCENT.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row4.createCell((short) 4); 
cell.setCellValue("X19"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.INDIGO.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row4.createCell((short) 5); 
cell.setCellValue("X20"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row5 = sheet.createRow((short) 5); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LAVENDER.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row5.createCell((short) 1); 
cell.setCellValue("X21"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LEMON_CHIFFON.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row5.createCell((short) 2); 
cell.setCellValue("X22"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row5.createCell((short) 3); 
cell.setCellValue("X23"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LEMON_CHIFFON.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row5.createCell((short) 4); 
cell.setCellValue("X24"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row5.createCell((short) 5); 
cell.setCellValue("X25"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row6 = sheet.createRow((short) 6); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_CORNFLOWER_BLUE 
.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row6.createCell((short) 1); 
cell.setCellValue("X26"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row6.createCell((short) 2); 
cell.setCellValue("X27"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_ORANGE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row6.createCell((short) 3); 
cell.setCellValue("X28"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row6.createCell((short) 4); 
cell.setCellValue("X29"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIGHT_YELLOW.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row6.createCell((short) 5); 
cell.setCellValue("X30"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row7 = sheet.createRow((short) 7); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.LIME.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row7.createCell((short) 1); 
cell.setCellValue("X31"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.MAROON.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row7.createCell((short) 2); 
cell.setCellValue("X32"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.OLIVE_GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row7.createCell((short) 3); 
cell.setCellValue("X33"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row7.createCell((short) 4); 
cell.setCellValue("X34"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.ORCHID.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row7.createCell((short) 5); 
cell.setCellValue("X35"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row8 = sheet.createRow((short) 8); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row8.createCell((short) 1); 
cell.setCellValue("X36"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.PINK.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row8.createCell((short) 2); 
cell.setCellValue("X37"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.PLUM.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row8.createCell((short) 3); 
cell.setCellValue("X38"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.RED.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row8.createCell((short) 4); 
cell.setCellValue("X39"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.ROSE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row8.createCell((short) 5); 
cell.setCellValue("X40"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row9 = sheet.createRow((short) 9); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.ROYAL_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row9.createCell((short) 1); 
cell.setCellValue("X41"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.SEA_GREEN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row9.createCell((short) 2); 
cell.setCellValue("X42"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row9.createCell((short) 3); 
cell.setCellValue("X43"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.TAN.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row9.createCell((short) 4); 
cell.setCellValue("X44"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.TEAL.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row9.createCell((short) 5); 
cell.setCellValue("X45"); 
cell.setCellStyle(style); 
// Create a row and put some cells in it. 
Row row10 = sheet.createRow((short) 10); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.TURQUOISE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row10.createCell((short) 1); 
cell.setCellValue("X46"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.VIOLET.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row10.createCell((short) 2); 
cell.setCellValue("X47"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.WHITE.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row10.createCell((short) 3); 
cell.setCellValue("X48"); 
cell.setCellStyle(style); 
style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.YELLOW.getIndex()); 
style.setFillPattern(CellStyle.SOLID_FOREGROUND); 
cell = row10.createCell((short) 3); 
cell.setCellValue("X49"); 
cell.setCellStyle(style); 
// Write the output to a file 
FileOutputStream fileOut = new FileOutputStream( 
"POIFillAndColorExample.xlsx"); 
workbook.write(fileOut); 
fileOut.close(); 
} 
} 

The generated excel files looks like below images.

POI中背景颜色设置方法如下: HSSFCellStyle style = workbook.createCellStyle(); style.setFillBackgroundColor(HSSFColor.AQUA.index); cell.setCellStyle(style);  颜色类型是在HSSFColor里面定义的. 
                执行结果
HSSFColor.ROYAL_BLUE  
HSSFColor.TEAL  
HSSFColor.LIME  
HSSFColor.PALE_BLUE  
HSSFColor.AQUA  
HSSFColor.GREEN  
HSSFColor.TURQUOISE  
HSSFColor.DARK_BLUE  
HSSFColor.CORNFLOWER_BLUE  
HSSFColor.OLIVE_GREEN  
HSSFColor.WHITE  
HSSFColor.LIGHT_TURQUOISE  
HSSFColor.LEMON_CHIFFON  
HSSFColor.LIGHT_GREEN  
HSSFColor.BLUE  
HSSFColor.DARK_RED  
HSSFColor.CORAL  
HSSFColor.RED  
HSSFColor.LIGHT_YELLOW  
HSSFColor.SKY_BLUE  
HSSFColor.BROWN  
HSSFColor.SEA_GREEN  
HSSFColor.INDIGO  
HSSFColor.MAROON  
HSSFColor.GREY_80_PERCENT  
HSSFColor.GREY_25_PERCENT  
HSSFColor.DARK_GREEN  
HSSFColor.YELLOW  
HSSFColor.GOLD  
HSSFColor.GREY_40_PERCENT  
HSSFColor.DARK_TEAL  
HSSFColor.PINK  
HSSFColor.ORCHID  
HSSFColor.LIGHT_BLUE  
HSSFColor.LIGHT_CORNFLOWER_BLUE  
HSSFColor.BLACK  
HSSFColor.DARK_YELLOW  
HSSFColor.VIOLET  
HSSFColor.LAVENDER  
HSSFColor.ROSE  
HSSFColor.BLUE_GREY  
HSSFColor.LIGHT_ORANGE  
HSSFColor.ORANGE  
HSSFColor.GREY_50_PERCENT  

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/16377.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论