EasyExcel- java 每行格式自定义
时间: 2023-10-13 10:16:58 浏览: 100
easyexcel-demo-master.zip
在 EasyExcel 中,我们可以通过自定义行样式策略来设置每行的样式。具体步骤如下:
1. 创建自定义样式类,继承 RowStyleStrategy 类,并实现其 createRowCellStyle 方法。
例如:
```
public class CustomRowStyleStrategy extends RowStyleStrategy {
@Override
public CellStyle createRowCellStyle(Workbook workbook, Sheet sheet, int rowIndex, int relativeRowIndex, List<CellData> cellDataList) {
CellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 12);
cellStyle.setFont(font);
if (rowIndex % 2 == 0) {
cellStyle.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
}
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
return cellStyle;
}
}
```
2. 在写入 Excel 时,使用自定义样式类。
例如:
```
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 设置自定义样式类
CustomRowStyleStrategy customRowStyleStrategy = new CustomRowStyleStrategy();
// 写入 Excel
EasyExcel.write(fileName, dataClass)
.head(head)
.registerWriteHandler(customRowStyleStrategy)
.sheet(sheetName)
.doWrite(data);
```
这样就可以创建自定义的每行样式了。在这个例子中,我们设置了文字字体为宋体,字号为12;奇数行背景色为浅青色;居中对齐;边框为细线。你可以根据自己的需求进行调整。注意,在最新版本的 EasyExcel 中,createRowCellStyle 方法的参数有所改变,需要传入 Sheet、relativeRowIndex 和 cellDataList 参数。
阅读全文