Java Excel Poi 字体颜色设置

设置预定义颜色

要设置单元格的字体颜色,可以使用 Apache POI 中的 CellStyleFont 类。下面是一个示例代码,演示如何设置单元格字体颜色:

复制代码
import org.apache.poi.ss.usermodel.*;

public class SetCellFontColorExample {

    public static void main(String[] args) {
        // 创建工作簿和工作表
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        // 创建单元格样式
        CellStyle style = workbook.createCellStyle();

        // 创建字体
        Font font = workbook.createFont();
        font.setColor(IndexedColors.RED.getIndex()); // 设置字体颜色为红色

        // 将字体应用于样式
        style.setFont(font);

        // 创建单元格并设置样式
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, World!");
        cell.setCellStyle(style);

        // 保存工作簿
        try {
            FileOutputStream fileOutputStream = new FileOutputStream("CellFontColorExample.xlsx");
            workbook.write(fileOutputStream);
            workbook.close();
            fileOutputStream.close();
            System.out.println("单元格字体颜色设置完成!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这段代码创建了一个带颜色的单元格,字体颜色设置为红色。你可以根据需要将 IndexedColors 中的颜色调整为你想要的其他颜色。最后,代码将单元格写入到名为 "CellFontColorExample.xlsx" 的 Excel 文件中。

设置自定义颜色(RGB 或者 16进制颜色(#FFFFFF))

1.首先,创建一个 XSSFCellStyle 和XSSFFont对象,并为其设置字体样式:

java 复制代码
Workbook workbook = new XSSFWorkbook(); // 创建一个工作簿
Sheet sheet = workbook.createSheet("Sheet1"); // 创建一个工作表

XSSFCellStyle cellStyle = workbook.createCellStyle(); // 创建单元格样式
XSSFFont font = workbook.createFont(); // 创建字体样式

cellStyle.setFont(font); // 将字体样式应用于单元格样式

2.接下来,创建 XSSFColor 对象,并将 RGB 或 16进制 颜色值应用于字体样式:

java 复制代码
//RGB
font.setColor(new XSSFColor(new java.awt.Color(255, 0, 0))); // 设置字体颜色为红色

//16进制颜色
font.setColor(new XSSFColor(new java.awt.Color.decode("#FF0000"))); // 设置字体颜色为红色

3.最后,将样式应用到单元格中:

复制代码
Row row = sheet.createRow(0); // 创建第一行
Cell cell = row.createCell(0); // 创建第一个单元格

cell.setCellStyle(cellStyle); // 将样式应用于单元格

这样就可以设置单元格字体的自定义 颜色了。

请注意,上述代码使用的是 Apache POI 的 XSSFWorkbook 和 XSSFFont 类,适用于处理 .xlsx 格式的文件。如果需要处理 .xls 格式的文件,可以使用 HSSFWorkbook 和 HSSFFont 类。

相关推荐
hqxstudying14 分钟前
Java异常处理
java·开发语言·安全·异常
wjs20243 小时前
状态模式(State Pattern)
开发语言
我命由我123453 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle3 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜5 小时前
ART配对软件使用
开发语言·c++·qt·算法
武子康5 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
爱装代码的小瓶子7 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao8 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw8 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
Maybe_ch8 小时前
.NET-键控服务依赖注入
开发语言·c#·.net