我使用轻松的excel api group: 'com.alibaba', name: 'easyexcel', version: '3.0.3'设置单元格颜色,这是main.java代码:
public class AppStarter {
public static void main(String[] args) {
SparkUserExcelRequest request = new SparkUserExcelRequest();
request.setNickname("test");
String writePathName = "/Users/dolphin/source/dabai/microservice/soa-zhuolian-org/";
String fullPathName = writePathName + "a.xlsx";
if (!new File(writePathName).exists()) {
new File(writePathName).mkdirs();
}
ExcelWriterBuilder writerBuilder = EasyExcel.write(fullPathName, SparkUserExcelRequest.class);
writerBuilder.excelType(ExcelTypeEnum.XLSX);
writerBuilder.registerWriteHandler(new CellStyleWriteHandler());
ExcelWriter writer = writerBuilder.build();
WriteSheet writeSheet = new WriteSheet();
writeSheet.setSheetName("mark");
writer.write(Arrays.asList(request), writeSheet);
writer.finish();
}
}这是更改单元格颜色的类:
public class CellStyleWriteHandler extends AbstractCellStyleStrategy {
@Override
protected void setContentCellStyle(Cell cell, Head head, Integer relativeRowIndex) {
Workbook workbook = cell.getSheet().getWorkbook();
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex());
cell.setCellStyle(cellStyle);
}
}这是实体类:
@Data
@ExcelIgnoreUnannotated
public class SparkUserExcelRequest implements Serializable {
@ExcelProperty("user name")
private String nickname;
}运行此代码时,此单元格颜色未更改为浅蓝色,为什么单元格颜色设置失败?我该怎么做才能解决这个问题?我要把测试单元格的颜色改为蓝色。

发布于 2022-02-14 12:07:27
我试过你的代码,颜色没有改变。试图将easyexcel版本降级到2.2.11应该修复这个problem.You,这可能会增加一个问题,以确保它是一个bug。
api group: 'com.alibaba', name: 'easyexcel', version: '2.2.11'https://stackoverflow.com/questions/71111037
复制相似问题