POI如何自定义单元格背景颜色

提出问题

POI如何自定义单元格背景颜色???

解决问题

例一:具体的看注释

import org.apache.poi.hssf.usermodel.*;

import org.apache.poi.hssf.util.HSSFColor;

 

import java.io.FileOutputStream;

 

/**

* Created by Ay on 2016/4/29.

*/

public class PoiBackgroundColorTest {

 

public static void main(String[] args) throws Exception{

//创建一份

HSSFWorkbook excel = new HSSFWorkbook();

//创建第一个sheet

HSSFSheet sheet = excel.createSheet("我的POI之旅");

//创建第一行

HSSFRow row = sheet.createRow((short) 0);

//创建第一个单元格

HSSFCell cell = row.createCell((short) 0);

//设置单元格的值

cell.setCellValue("Ay");

//生成单元格样式

HSSFCellStyle style = excel.createCellStyle();

//设置背景颜色

style.setFillForegroundColor(HSSFColor.LIME.index);

//solid 填充 foreground 前景色

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

cell.setCellStyle(style);

//通过流写到硬盘

FileOutputStream out = new FileOutputStream("D:/old_color.xls");

excel.write(out);

out.close();

 

//====== 这里是重点,马上要自定义单元格的样式了 =============

cell.setCellValue("Al");

//拿到palette颜色板

HSSFPalette palette = excel.getCustomPalette();

//这个是重点,具体的就是把之前的颜色 HSSFColor.LIME.index

//替换为 RGB(51,204,204) 宝石蓝这种颜色

//你可以改为 RGB(0,255,127)

palette.setColorAtIndex(HSSFColor.LIME.index, (byte) 0, (byte) 255, (byte) 127);

//====== 这里是重点,马上要自定义单元格的样式了 =============

out = new FileOutputStream("D:/new_color.xls");

excel.write(out);

out.close();

}

}

 

D:/old_color.xls 结果

POI如何自定义单元格背景颜色_第1张图片

 

D:/new_color.xls 结果

POI如何自定义单元格背景颜色_第2张图片

你可能感兴趣的:(POI如何自定义单元格背景颜色)