首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Apache POI 設置 Excel 單元格前景色與背景色

     編輯:關於C++

核心代碼

在 POI 中,單元格顏色由 前景色、背景色 與 填充模式 共同決定。若想要實心顏色,必須同時設置前景色並選擇 SOLID_FOREGROUND 模式;單獨設置背景色無效。

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle style = wb.createCellStyle();

// 關鍵:設置前景色 + 實心填充模式
style.setFillForegroundColor(HSSFColor.TEAL.index);   // 前景色
style.setFillPattern(CellStyle.SOLID_FOREGROUND);     // 實心模式

// 若需漸變或圖案,可改用其他 FillPattern 並搭配背景色
// style.setFillBackgroundColor(HSSFColor.YELLOW.index);
// style.setFillPattern(CellStyle.FINE_DOTS);

HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("測試顏色");
cell.setCellStyle(style);

常用 HSSFColor 顏色常量速查表

常量名顏色示例
HSSFColor.RED紅
HSSFColor.BLUE藍
HSSFColor.GREEN綠
HSSFColor.YELLOW黃
HSSFColor.BLACK黑
HSSFColor.WHITE白
HSSFColor.GREY_25_PERCENT淺灰 25%
HSSFColor.GREY_50_PERCENT灰 50%
HSSFColor.TEAL藍綠
HSSFColor.LIME檸檬綠
HSSFColor.AQUA水藍
HSSFColor.CORAL珊瑚紅
HSSFColor.GOLD金色
HSSFColor.PINK粉紅
HSSFColor.VIOLET紫羅蘭
HSSFColor.SKY_BLUE天藍
HSSFColor.LIGHT_YELLOW淡黃
HSSFColor.LIGHT_GREEN淡綠
HSSFColor.LIGHT_BLUE淡藍
HSSFColor.ORANGE橙
HSSFColor.ROSE玫瑰紅

避坑指南

  • 只設背景色不生效:POI 的渲染邏輯以「前景色 + 填充模式」為主,背景色僅在非實心模式(如條紋、網格)下作為襯底出現。
  • HSSF vs XSSF:以上代碼適用於 .xls (HSSF);若操作 .xlsx (XSSF),請將類名替換為 XSSFWorkbook 等,顏色常量改用 IndexedColors。
  • 自定義 RGB:HSSF 不支援自定義 RGB;XSSF 可用 setFillForegroundColor(new XSSFColor(new java.awt.Color(r,g,b)))。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved