easy-poi 修改单元格样式

// 导出路径
String outPath = "E:\\文件.xls";
// 导出excel表
Workbook workbook = ExcelExportUtil.exportExcel(
        new ExportParams("标题", "sheet名"),
        Build.class, buildBlgMacInfo
);
// 设置表格样式
// 设置字体样式,颜色置为红色
Font font = workbook.createFont();
short index = HSSFColor.HSSFColorPredefined.RED.getIndex();
font.setColor(index);
CellStyle redFontStyle = workbook.createCellStyle();
boolean clone = false;
// 设置字体样式,字体加粗
Font font2 = workbook.createFont();
CellStyle boldFontStyle = workbook.createCellStyle();
font2.setBold(true);
//        font.setBold(true);
//        font.setColor(HSSFColor.RED.index);
//        fontColor.setFont(font);
//        font.setFontName("宋体");
            Iterator<Sheet> sheetIterator = workbook.sheetIterator();
            while (sheetIterator.hasNext()) {
                Iterator<Row> rowIterator = sheetIterator.next().rowIterator();
                while (rowIterator.hasNext()) {
                    Iterator<Cell> cellIterator = rowIterator.next().cellIterator();
                    while (cellIterator.hasNext()) {
                        Cell cell = cellIterator.next();
                        String cellValue = cell.getStringCellValue().trim();
                        if (cellValue.endsWith("%")) {
                            float value = Float.parseFloat(cellValue.substring(0, cellValue.length() - 1));
                            if (!clone) {
                                // 设置一个红色的字体样式
                                redFontStyle.cloneStyleFrom(cell.getCellStyle());
                                redFontStyle.setFont(font);
                                // 设置一个粗体字体样式
                                boldFontStyle.cloneStyleFrom(cell.getCellStyle());
                                boldFontStyle.setFont(font2);

                                clone = true;
                            }
                            if (value >= percent) {
                                cell.setCellStyle(redFontStyle);  // 修改这个单元格的字体
                            } else if (value > 0) {
                                cell.setCellStyle(boldFontStyle);  // 设置这个单元格中的字体为粗体
                            }

//                        CellStyle style = workbook.createCellStyle();
//                        style.setAlignment(HorizontalAlignment.CENTER);
//                        style.setFont(font);
//                        cell.setCellStyle(style);
                        }
                    }
                }
            }
// 把内存中的excel写到磁盘中去
if (workbook != null) {
    FileOutputStream outputStream = null;
    try {
        outputStream = new FileOutputStream(outPath);
        workbook.write(outputStream);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (outputStream != null) {
                outputStream.close();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} else {
    System.err.println("导出失败");
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值