HSSFCellStyle style = null;
// 创建表头style
HSSFCellStyle cellStyleTitle = workbook.createCellStyle();
cellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充单元格
cellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index);
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// //居中显示
HSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titles.length; i++) {
HSSFCell cell = titleRow.createCell(i);
// cell.setCellStyle(createCellColorStyle(workbook));
cell.setCellStyle(cellStyleTitle);
cell.setCellValue(titles[i]);// 给单元格赋值
}
2020-08-18
问题解决了吗?我这里可以给你推荐个免费组件Spire.XLS for Java,它可以利用条件格式给Excel工作表的行设置交替背景色。下面代码是以给奇数行和偶数行设置为例。
import com.spire.xls.*;
import java.awt.*;
public class ConditionalFormatting {
public static void main(String[] args) {
//创建Workbook对象
Workbook workbook = new Workbook();
//加载一个Excel文档
workbook.loadFromFile("C:\\Users\\Jack\\Desktop\\sample.xlsx");
//获取一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//获取有数据的区域
CellRange dataRange = sheet.getAllocatedRange();
//使用条件格式将偶数行的背景色设为浅灰色
ConditionalFormatWrapper format1 = dataRange.getConditionalFormats().addCondition();
format1.setFirstFormula("=MOD(ROW(),2)=0");
format1.setFormatType(ConditionalFormatType.Formula);
format1.setBackColor(Color.lightGray);
//使用条件格式将奇数行的背景色设置成黄色
ConditionalFormatWrapper format2 = dataRange.getConditionalFormats().addCondition();
format2.setFirstFormula("=MOD(ROW(),2)=1");
format2.setFormatType(ConditionalFormatType.Formula
format2.setBackColor(Color.yellow);
//保存文档
workbook.saveToFile("output/AlternateColor.xlsx", ExcelVersion.Version2016);
}
}
设置效果: