1. 颜色概述

颜色Color是单元格的基本样式,单元格默认颜色为黑色

 - 单元格边框颜色
 - 单元格填充色
 - 单元格字体颜色

2. 预定自颜色

POI中预定义了56种颜色,索引从0x8 - 0x40, 索引0x40定义一种默认颜色 - 黑色

org.apache.poi.ss.usermodel.IndexedColors
org.apache.poi.hssf.util.HSSFColor$HSSFColorPredefined
// 设置填充色
cellStyle.setFillForegroundColor(IndexedColors.BLUE.getIndex());
cellStyle.setFillForegroundColor(HSSFColorPredefined.BLUE.getIndex());// 设置字体颜色
font.setColor(IndexedColors.WHITE.getIndex());
font.setColor(IndexedColors.WHITE.getIndex());

3. 自定义颜色

当56预定义颜色无法满足需要时,可以自定义颜色,HSSFColor和XSSFColor自定义颜色方式完全不同

3.1 自定义HSSFColor

  1. 根据HSSFWorkbook获取自定义调色面板HSSFPalette 2. 用自定义颜色覆盖索引[0x8, 0x40)3. 使用覆盖的索引,即自定义的颜色
// 获取工作簿的调色面板
HSSFPalette palette = hssfWorkbook.getCustomPalette();
// 将调色面板中蓝色索引替换为红色
palette.setColorAtIndex(HSSFColorPredefined.BLUE.getIndex(), (byte) 255, (byte) 0, (byte) 0);
// 会出现红色字体
font.setColor(HSSFColorPredefined.BLUE.getIndex());

3.2 自定义XSSFColor

  1. 根据一个java.awt.Color实例或RGB字节数组创建一个XSSFColor实例color2. 直接传递实例color对象
XSSFColor color = new XSSFColor(new java.awt.Color(255, 0, 0));
xSSFCellStyle.setFillForegroundColor(color);
xSSFFont.setColor(color);

4. HSSFColor实例

  1. 默认蓝色背景,白色字体
  2. 自定义后红色背景,黑色字体
package hssf.sheet.color;import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
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.ss.usermodel.Workbook;/*** 使用默认调色面板* */
public class ExportHSSFColor {public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\Administrator\\Desktop\\test.xls");if (file.exists()) {file.delete();}BufferedOutputStream out = null;try {out = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\test.xls"));exportExcel(out);} finally {out.close();}}/*** @param out* @throws IOException*/private static void exportExcel(BufferedOutputStream out) throws IOException {HSSFWorkbook workbook = new HSSFWorkbook();Sheet sheet = workbook.createSheet();sheet.setColumnWidth(0, 20*256);Row row = sheet.createRow((short) 0);Cell cell = row.createCell((short) 0);cell.setCellValue("调色板");/*****************************自定义颜色**************************************************/// 获取工作簿的调色面板HSSFPalette palette = workbook.getCustomPalette();// 将调色面板中蓝色索引替换为红色palette.setColorAtIndex(HSSFColorPredefined.BLUE.getIndex(), (byte) 255, (byte) 0, (byte) 0);// 将白色索引替换为黑色palette.setColorAtIndex(HSSFColorPredefined.WHITE.getIndex(), (byte) 0, (byte) 0, (byte) 0);/**************************************************************************************/CellStyle style = workbook.createCellStyle();// 填充色style.setFillForegroundColor(HSSFColorPredefined.BLUE.getIndex());
//      style.setFillForegroundColor(IndexedColors.BLUE.getIndex());style.setFillPattern(FillPatternType.SOLID_FOREGROUND);// 字体颜色Font font = workbook.createFont();font.setColor(HSSFColorPredefined.WHITE.getIndex());style.setFont(font);cell.setCellStyle(style);workbook.write(out);}
}

5. XSSFColor实例

package hssf.sheet.color;import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
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.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class ExportXSSFColor {public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\Administrator\\Desktop\\test.xlsx");if (file.exists()) {file.delete();}BufferedOutputStream out = null;try {FileOutputStream fileOutputStream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\test.xlsx");out = new BufferedOutputStream(fileOutputStream);exportExcel(out);} finally {out.close();}}/*** @param out* @throws IOException*/private static void exportExcel(BufferedOutputStream out) throws IOException {XSSFWorkbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet();sheet.setColumnWidth(0, 20*256);Row row = sheet.createRow((short) 0);Cell cell = row.createCell((short) 0);cell.setCellValue("调色板");// 创建一个单元格样式XSSFCellStyle style = workbook.createCellStyle();cell.setCellStyle(style);/*****************************使用默认颜色**************************************************/// 填充色
//      style.setFillForegroundColor(IndexedColors.BLUE.getIndex());style.setFillForegroundColor(HSSFColorPredefined.BLUE.getIndex());style.setFillPattern(FillPatternType.SOLID_FOREGROUND);// 字体颜色Font font = workbook.createFont();font.setColor(IndexedColors.WHITE.getIndex());style.setFont(font);/**************************************************************************************//*****************************自定义颜色**************************************************/XSSFColor color = new XSSFColor(new java.awt.Color(255, 0, 0));style.setFillForegroundColor(color);style.setFillPattern(FillPatternType.SOLID_FOREGROUND);XSSFColor color1 = new XSSFColor(new java.awt.Color(0, 0, 0));// 字体颜色XSSFFont font1 = workbook.createFont();font1.setColor(color1);style.setFont(font1);/**************************************************************************************/workbook.write(out);}
}

POI 颜色Color相关推荐

  1. (一)POI 4.1.2 颜色 color

    (一)POI 4.1.2 颜色 color 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 (一)POI 4. ...

  2. CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)

    1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...

  3. 继承 :5、程序设计 类:汽车类 属性:排量(outPut),颜色(color) 行为:驾驶(drive)

    package HomeWork; /*5.程序设计 类:汽车类 属性:排量(outPut),颜色(color)       行为:驾驶(drive) 类:大众(DasAuto) 继承自 汽车类   ...

  4. 2、设计2个类,要求如下:[必做题] 2.1 定义一个汽车类Vehicle, 2.1.1 属性包括:汽车品牌brand(String类型)、颜色color(String类型 )和速度speed(do

    2.1 定义一个汽车类Vehicle 2.1.1 属性包括:汽车品牌brand(String类型).颜色color(String类型)和速度speed(double类型). 2.1.2 至少提供一个有 ...

  5. Python中常见的调色板: 颜色 color

    Python中常见的调色板: 颜色 color 这个人对颜色的总结,非常到位哈! https://blog.csdn.net/weixin_42943114/article/details/81811 ...

  6. input框中颜色color修改了 但是字体颜色一直是默认灰色

    输入框里面的颜色一直默认为灰色.加了颜色color,权重最高但是颜色还是默认灰色. 这是由于谷歌浏览器的自带样式的缘故.在样式中加个-webkit-text-fill-color: #1576DC;/ ...

  7. TextView使用Html适配文字颜色(color:““)、文字大小(font-size:14px)、文字权重(font-weight:500)

    TextView使用Html适配文字颜色(color:"").文字大小(font-size:14px).文字权重(font-weight:500) TextView中提供了Html ...

  8. android颜色Color

    文章目录 1.常量颜色 2.构造颜色 2.1 带透明度的颜色 2.2 不带透明度的颜色 1.常量颜色 Color.BLACK~Color.TRANSPARENT @ColorInt public st ...

  9. Android 颜色Color

    Android 颜色Color (2011-08-09 11:47:50) 转载▼ 标签: 杂谈 分类: Android 对于Button和ImageButton 还有一些View 设置半透明或者透明 ...

最新文章

  1. matplotlib如何绘制两点间连线_机器学习:Python常用库——Matplotlib库
  2. oracle 优化之批量处理bulk correct 和 forall
  3. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等
  4. 二十三、 爬取mzsock网站写真社区
  5. Linux内核地址空间为什么1GB,为什么Windows为其系统地址空间预留1Gb(或2 Gb)?
  6. 拆解二战时期军用万用表,70多年前的万用表!
  7. Mooc的Python3学习笔记
  8. 大道至简第七章读后感
  9. 【SpringBoot】 SpringBoot核心
  10. 奥维怎么记录沿线轨迹_奥维互动地图怎么绘制路线
  11. ADXRS620/642/646发布:在PX4上我们为什么扔掉了MPU6000这个IMU
  12. 安装windows系统到移动硬盘
  13. linux下RabbitMQ的配置和安装
  14. 基于Foolnltk的《三体》文本命名实体分析
  15. 如何生成随机数(模拟掷骰子的过程)-C语言
  16. rep()函数的学习
  17. 清晰易懂的“K个一组翻转链表”解法
  18. word中右键图片菜单没有更改图片选项
  19. 太极拳“引进落空”的学理研究
  20. Vue项目实战 —— 哔哩哔哩移动端开发—— 第一篇

热门文章

  1. 【考研政治笔记】唯物论中物质观与意识观辨析
  2. 基带混用导致信号弱?iPhone网络差的原因及修复,望周知
  3. 俞敏洪:度过有意义的生命
  4. 【让你从0到1学会C语言】指针/数组传参以及static关键字
  5. ODOO实现微信单点登入
  6. 由光声前向模型求取光声信号
  7. 30天敏捷生活(12): 整理你的空间
  8. 达沃时代的VNAS为NAS使用提供一种新可能
  9. swagger文档增强工具knife4j使用详解
  10. 华为手机如何与台式计算机连接不上,华为手机怎样与电脑连接?USB数据线及WLAN无线两种连接电脑方式介绍...