【hutoool的ExcelWriter和StyleUtil创建默认样式,CellStyle设置背景颜色】

一效果图

在这里插入图片描述

代码


```java
//生成excel
        ExcelWriter writer = ExcelUtil.getWriter();
        res.setHeader("Content-Disposition", "attachment;fileName=" + new String(("水电表设备").getBytes("UTF-8"), "ISO-8859-1") + DateUtils.getCurrentTime() + ".xls");



        //自定义标题别名 楼栋	楼层	房号	企业分类(多个用英文逗号分隔)	面积	计价方式	价格	出租状态
        writer.addHeaderAlias("id", "表号");
        writer.setColumnWidth(0, 18);

        writer.addHeaderAlias("houseNamesStr", "房号");
        writer.setColumnWidth(1, 18);
        writer.addHeaderAlias("type", "类型");
        writer.setColumnWidth(2, 18);
        writer.addHeaderAlias("insertTime", "抄表日期");
        writer.setColumnWidth(3, 16);
        writer.addHeaderAlias("payType", "付款形式");
        writer.setColumnWidth(4, 20);
        writer.addHeaderAlias("lastMonth", "上月度数");
        writer.setColumnWidth(5, 20);
        writer.addHeaderAlias("currentMonth", "本月度数");
        writer.setColumnWidth(6, 18);
        writer.addHeaderAlias("actualUsed", "实用度数");
        writer.setColumnWidth(7, 18);
        writer.addHeaderAlias("sumMoney", "计费金额(元)");
        writer.setColumnWidth(8, 18);
        writer.addHeaderAlias("unitPrice", "计费价格(元/度)");
        writer.setColumnWidth(9, 18);
        writer.addHeaderAlias("multiple", "计费倍数");
        writer.setColumnWidth(10, 18);

        writer.write(collect, true);
        //为数据表格填充样式
        Workbook workbook = writer.getWorkbook();
        //创建默认样式
        CellStyle  cellStyle=StyleUtil.createDefaultCellStyle(workbook);
        cellStyle.setFillForegroundColor( IndexedColors.YELLOW.getIndex());
        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
        for(int i=1;i<=collect.size();i++){
            writer.getCell(0,i).setCellStyle(cellStyle);
            writer.getCell(1,i).setCellStyle(cellStyle);
            writer.getCell(2,i).setCellStyle(cellStyle);
            writer.getCell(2,i).setCellStyle(cellStyle);
            writer.getCell(3,i).setCellStyle(cellStyle);
            writer.getCell(4,i).setCellStyle(cellStyle);
            writer.getCell(5,i).setCellStyle(cellStyle);
            writer.getCell(9,i).setCellStyle(cellStyle);
            writer.getCell(10,i).setCellStyle(cellStyle);
        }
        ServletOutputStream out = res.getOutputStream();
        //out为OutputStream,需要写出到的目标流
        writer.flush(out);
        // 关闭writer,释放内存
        writer.close();
##依赖包版本
		<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.21</version>
        </dependency>


	
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值