Java

java中easyexcel怎么设置边框线

小亿
1314
2024-01-22 13:18:16
栏目: 编程语言

在Java中使用easyexcel设置边框线,可以通过StyleStrategyWriteCellStyle来实现。

首先,创建一个自定义的StyleStrategy,实现org.apache.poi.ss.usermodel.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设置边框线了。

0
看了该问题的人还看了