Springboot整合Poi导出excel

1.导入依赖

 <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.14</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

3.定义实体

 String excelName = "订单详情表";

        //获取需要转出的excel表头的map字段
        LinkedHashMap<String, String> fieldMap = new LinkedHashMap<>();
        fieldMap.put("id","编号");
        fieldMap.put("link_man","姓名");
        fieldMap.put("amount_real","价格");
        fieldMap.put("date_add","日期");
        fieldMap.put("status_str","订单状态");
        fieldMap.put("mobie","收货电话");
        fieldMap.put("address","地址");
        fieldMap.put("detailValue","订单详情");

注:@Data是lombok注解,可以自动创建get,set方法和构造方法,具体可参考网上lombok详细适用方法。如果没有引入,可以自己创建get,set方法。

package org.emall.website.entity;

import lombok.Data;
import org.emall.website.anno.ExportEntityMap;

import java.math.BigInteger;


@Data
public class ExportDto {
   


    private BigInteger id;

    private String order_number;

    @ExportEntityMap(CnName="价格",EnName="amount_real")
    private String amount_real;

    @ExportEntityMap(CnName="日期",EnName="date_add")
    private String date_add;

    @ExportEntityMap(CnName="订单状态",EnName="status_str")
    private String status_str;

    @ExportEntityMap(CnName="姓名",EnName="link_man")
    private String link_man;

    @ExportEntityMap(CnName="收货电话",EnName="mobie")
    private String mobie;

    @ExportEntityMap(CnName="地址",EnName="address")
    private String address;

    @ExportEntityMap(CnName="订单详情",EnName="detailValue")
    private String detailValue;

}


4.创建导出工具类
其中主要关注Export方法,包括以下几个知识点:

设置文件名
设置文件格式
创建workBook,对应一个excel文件
在workbook中创建一个sheet,对应excel中的sheet
设置边距,页眉,页脚
设置打印方向,缩放,纸张大小
创建单元格,设置表头和表头居中
设置居中和字体
自定义注解操作
文件输出
其中最重要的是对自定义注解的操作:

package org.emall.website.util;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Footer;
import org.apache.poi.ss.usermodel.Header;
import org.emall.website.anno.ExportEntityMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.http.HttpServletResponse
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值