EasyPoi

准备工作

加入依赖

我用的是easypoi,非常好用,但需要注意一些坑。

	   <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>3.0.1</version>
        </dependency>

版本我用的是3.0.1因为高版本的把WorkbookFactory迁出,还得去找含有WorkbookFactory的依赖。不然报错“NoClassDefFoundError:org/apache/poi/ss/usermodel/WorkbookFactory”

数据类和模板类

easypoi很厉害的一个功能,可以一个数据,多种导出
数据类:必须是个pojo类(属性都要有get set方法,我的引入了lombok,所以只需要加上@Data)

@Data
public class ShuJu{

    private String A;

    private String B;

  	private String C;
  	}

模板类:必须是个pojo类,并且加上easypoi的注解

@Data
public class MuBanA{
    @Excel(name = "标题A")
    private String A;
    @Excel(name = "标题B")
    private String B;
  	private String C;
  	}

导出的excel效果:

标题A标题B
aa11
bb22
cc33
@Data
public class MuBanB{

    private String A;
	@Excel(name = "标题B")
    private String B;
	@Excel(name = "标题C")
  	private String C;
  	}

导出的excel效果:

标题B标题C
11**
22##
33$$

开干

导出

@RestController
public class Controller{
	@Autowired
    MyService myService;
    @PostMapping("/export")
     /**
     * @vo封装的请求参数
     */
    public void export(@RequestBody ReqVo  vo, HttpServletResponse response) throws Exception {
        List<ShuJu> data= myService.export(vo);
        //导出A模板的文件
		ExcelUtils.exportExcelToTarget(response, "文件名"), data, A.class);
		//导出B模板的文件
		//ExcelUtils.exportExcelToTarget(response, "文件名"), data, B.class); 
    }
}

导入

public static <T> List<T> importExcel(MultipartFile file, Class<T> classType) throws Exception {
        ImportParams params = new ImportParams();
        return ExcelImportUtil.importExcel(file.getInputStream(), classType, params);
    }

转化

@Excel(
name = “创建时间”,
format = “yyyy-MM-dd HH:mm:ss”
)
@Excel(
name = “状态”,
replace = {“失败_0”, “成功_1”}
)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值