Linux 拨号vps windows公众号手机端

java中easyexcel怎么设置边框线

lewis 8年前 (2017-03-03) 阅读数 9 #程序编程
文章标签 Java

在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设置边框线了。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门