设置预定义颜色

要设置单元格的字体颜色,可以使用 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对象,并为其设置字体样式:

Workbook workbook = new XSSFWorkbook(); // 创建一个工作簿Sheet sheet = workbook.createSheet("Sheet1"); // 创建一个工作表XSSFCellStyle cellStyle = workbook.createCellStyle(); // 创建单元格样式XSSFFont font = workbook.createFont(); // 创建字体样式cellStyle.setFont(font); // 将字体样式应用于单元格样式

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

//RGBfont.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 类。