Excel工具类(生成导出+样式)

这周的需求是:统计出昨天的数据,然后写到Excel里面发邮件,想到每次都要用jwt或者最原始的poi写代码,就很麻烦,于是我用了以前学到的EasyPoi,然后封装成了工具类。

首先是导入依赖:

        <!-- EasyPoi -->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.4.0</version>
        </dependency>

我以前的博客说过一次,要使用EasyPoi,首先要创建一个实体类BO ,然后利用纯注解的方式进行开发,下面是实体类:



import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import lombok.Data;

import java.io.Serializable;

/**
 * @ClassName OperationDataReport
 * @Author 王弈程
 * @Date 2022/2/15 16:44
 **/
@ExcelTarget("运营数据日报")
@Data
public class OperationDataReportBO implements Serializable {

    @Excel(name = "当前有效活动总量",orderNum = "1",width = 20,needMerge = true)
    private long currentTotalActive;

    @Excel(name = "当前有效资源提供方总量",orderNum = "2",width = 20,needMerge = true)
    private long currentTotalActiveResourceProvides;

    @Excel(name = "当前有效资源使用方总量",orderNum = "3",width = 20,needMerge = true)
    private long currentTotalActiveResourceUse;

    @Excel(name = "昨日资源同步领取总量",orderNum = "4",width = 20,needMerge = true)
    private long yesterdayResourcesSynchronReceiveTotal;

    @Excel(name = "昨日资源异步领取总量",orderNum = "5",width = 20,needMerge = true)
    private long yesterdayResourcesAsynchronReceiveTotal;

    @Excel(name = "昨日资源领取总量",orderNum = "6",width = 20,needMerge = true)
    private long yesterdayResourcesReceiveTotal;

    @Excel(name = "昨日资源同步领取号码总量",orderNum = "7",width = 20,needMerge = true)
    private long yesterdayResourcesSynchronReceivePhoneTotal;

    @Excel(name = "昨日资源异步领取号码总量",orderNum = "8",width = 20,needMerge = true)
    private long yesterdayResourcesAsynchronReceivePhoneTotal;

    @Excel(name = "昨日资源领取号码总量",orderNum = "9",width = 20,needMerge = true)
    private long yesterdayResourcesReceivePhoneTotal;

    @Excel(name = "昨日新增库存总量",orderNum = "10",width = 20,needMerge = true)
    private long yesterdayResourcesAddTotal;

    @Excel(name = "昨日发送库存预警短信条目数",orderNum = "11",width = 20,needMerge = true)
    private long yesterdaySendAlertSMSTotal;

}

因为应用场景不同,因此用法也不一样,我在这里给大家模拟一下,接下来是业务层接口类:



import lombok.extern.ohaotian.HTServiceAPI;

import java.util.Date;

/**
 * @ClassName OperationDataReportService
 * @Author 王弈程
 * @Date 2022/2/15 15:47
 **/
@HTServiceAPI
public interface OperationDataReportService {

    void getYesterdayOperationData(Date date) throws Exception;

}

实现类: 



import com.unicom.resinteractive.api.bo.OperationDataReportBO;
import com.unicom.resinteractive.api.bo.SendEmailBO;
import com.unicom.resinteractive.api.service.OperationDataReportService;
imp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值