Java如何设置Excel单元格背景色并导出?

用 java 设置 excel 背景色

问题:

如何通过 java 代码设置 excel 单元格的背景色并导出为本地文件?

解决方案:

使用 apache poi 库实现:

依赖导入:

pom.xml 中添加以下依赖:


    org.apache.poi
    poi
    5.0.0


    org.apache.poi
    poi-ooxml
    5.0.0

代码示例:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ExcelBackgroundColor {

    public static void main(String[] args) {
        try (XSSFWorkbook workbook = new XSSFWorkbook();
             FileOutputStream out = new FileOutputStream("workbook.xlsx")) {
            Sheet sheet = workbook.createSheet();
            Row row = sheet.createRow(0);
            Cell cell = row.createCell(0);
            cell.setCellValue("TEST---");

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

            // 填充色
            

style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 字体颜色 Font font = workbook.createFont(); font.setColor(IndexedColors.WHITE.getIndex()); style.setFont(font); workbook.write(out); } catch (IOException e) { throw new RuntimeException(e); } } }

效果:

执行此代码后,名为 "workbook.xlsx" 的 excel 文件将在本地生成,其中单元格的背景色设置为蓝色,字体颜色设置为白色。