Java中如何设置EasyExcel的边框线?
Javaでeasyexcelを使用してボーダーラインを設定する場合、StyleStrategyとWriteCellStyleを使用して実装することができます。
最初に、org.apache.poi.ss.usermodel.StyleStrategyインタフェースを実装したカスタムのStyleStrategyを作成します。
public class CustomStyleStrategy implements StyleStrategy {
@Override
public void registerStyles(Workbook workbook) {
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
CellStyle headerStyle = workbook.createCellStyle();
headerStyle.cloneStyleFrom(cellStyle);
headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 注册样式
CellStyleUtil.putCellStyle(workbook, cellStyle, true);
CellStyleUtil.putCellStyle(workbook, headerStyle, true);
}
}
次に、Excelに書き込む際に、WriteCellStyleを使用して指定されたセルに枠線のスタイルを適用します。
// 创建WriteCellStyle对象,并设置边框样式
WriteCellStyle cellStyle = new WriteCellStyle();
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
// 设置边框样式
EasyExcel.write(fileName, Data.class)
.registerWriteHandler(new HorizontalCellStyleStrategy(new CustomStyleStrategy()))
.write(data, EasyExcel.writerSheet(sheetName).build());
JavaでEasyExcelを使用して罫線を設定する方法を学習しました。