Java计划任务(任务调度),定时器,定时安排任务,如定时发送Excel表格到用户邮箱(quartz+poi+javax.mail)

本文介绍了如何使用Java的Quartz库结合Apache POI库定时生成Excel报表,并通过javax.mail发送到用户邮箱。首先在pom.xml中导入相关依赖,然后创建工作类执行发送邮件、生成Excel表格的任务,最后通过Spring的applicationContext-task.xml配置定时任务。
摘要由CSDN通过智能技术生成

文章中使用到的发送邮件代码就不写了,之前发布过--https://blog.csdn.net/yan95520/article/details/89366606

1.在pom.xml中导入jar包(maven工程)

<!-- 计划任务支持 -->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.1</version>
    <exclusions>
        <exclusion>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- Excel支持 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.13</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.13</version>
</dependency>

2.编写工作类,用于完成计划任务的行为事件,如发文件邮件清数据等(包含制作Excel表格)

@Component("myjob")
public class MyJob {
    
    @Autowired
    private EmailUtil emailUtil;

    public void clearMemberTickct() {
        System.out.println("清空程序运行");
        //调用清空数据的方法
        System.out.println("清空" + 3 + "条数据");
    }

    public void sendMemberReport() {
        System.out.println("文本邮件程序运行");
        //调用查询最近登录信息
        emailUtil.sendEmail("huangwenhao.567@qq.com", "每日会员报表", "会员最近登录信息");
    }


    public void sendExcel() throws IOException {
        System.out.println("表格邮件程序运行");
        List<Member> list = service.findAll();
        HSSFWorkbook wk = new HSSFWorkbook();//生成excel文件
        HSSFSheet sheet = wk.createSheet("会员");//创建表
        sheet.createRow(2).createCell(3).setCellValue("会员信息报表");//创建行2同时创建列3并给列3赋值
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值