POI之Excel自定义单元格背景颜色

开心一笑

来来来,讲个笑话
怎么形容一个人很土
金木水火你

提出问题

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之Excel自定义单元格背景颜色_第1张图片
这里写图片描述

D:/new_color.xls 结果


POI之Excel自定义单元格背景颜色_第2张图片
这里写图片描述

读书感悟

来自《一公升的眼泪》

  • 不要着急,不要贪心,不要放弃,因为大家都是一步一步向前走,不管多微不足道的事都好,我想要对他人有帮助。

  • 植物很伟大呢,就算被雨淋,被践踏,也能在那里一直忍受,还能开花 。

  • 我究竟该趋向 何处才好? 虽然我得不到什么答案,但只要能写作,
    心情就会变得开朗起来。正在寻求着, 救赎的手,但既传达不了这份求救,
    也无法遇见这份救赎。仅仅只是回响着,我面向着黑暗声嘶力竭的呼喊声。

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