这篇文章将演示如何使用POI 4.1.2的版本实现单元格自定义背景色功能。
版本
org.apache.poi版本:4.1.2
, 此版本设置颜色有局限,只能设置颜色枚举类 IndexedColors 中指定的颜色。
代码
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelCellColorDemo {
public static void main(String[] args) {
// 创建一个新的工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个新的工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建一行并在其中创建单元格
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("带颜色的单元格");
// 创建单元格样式
CellStyle cellStyle = workbook.createCellStyle();
// 设置单元格背景颜色
cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 将样式应用于单元格
cell.setCellStyle(cellStyle);
try (FileOutputStream fileOut = new FileOutputStream("CellColorExample.xlsx")) {
// 将工作簿写入文件输出流
workbook.write(fileOut);
} catch (IOException e) {
e.printStackTrace();
}
// 关闭工作簿
try {
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这个示例代码将创建一个名为CellColorExample.xlsx
的Excel文件,并在其中设置单元格背景颜色。
效果图
以下是IndexedColors
中所有颜色的效果。
其他
另外,对以下内容感兴趣的同学请移步对应教程: