使用EasyExcel导出,这个轮子真方便

使用EasyExcel导出,这个轮子真方便

点击上方蓝字关注我!



使用EasyExcel导出,这个轮子真方便

EasyExcel是一款优秀的Excel导出组件,基于注解的形式导出。除了导出,还支持导入。今天我们主要聊聊它的导出。

git项目地址:https://github.com/alibaba/easyexcel

它的优秀之处在于很省内存,导出导入速度也很快。

使用EasyExcel导出,这个轮子真方便

1实现代码

首先需要引入Maven

<!--阿里的easyexcel-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.0-beta1</version>
    <scope>compile</scope>
</dependency>

dto对象

使用EasyExcel导出,这个轮子真方便

字段上标有注解,用于设置Excel的表头。

导出方法封装

使用EasyExcel导出,这个轮子真方便

这里可以自定义导出文件的文件名,sheet名。我们将文件名添加时间戳后缀,然后文件名为防止中文乱码,我们将编码处理成UTF-8的形式。

我们将方法再次封装。

public void exportExcelWeb(HttpServletResponse response, List<TeacherInfoDto> teacherInfoDtoList) {
    String fileName = "Web导出测试";
    String sheetName = "sheet";
    EasyExcelUtils.exportExcelWeb(response, teacherInfoDtoList, TeacherInfoDto.classfileNamesheetName);
}

设置好文件名和sheet名。

模拟数据库中查出的数据。

public List<TeacherInfoDto> listInfo() {
    List<TeacherInfoDto> list = Lists.newArrayList();
    TeacherInfoDto dto = new TeacherInfoDto();
    dto.setId(1);
    dto.setPhone("13346785433");
    dto.setName("Zhouzhou");
    dto.setAddress("中国 珠穆朗玛峰");
    dto.setEnrolDate("2021-04-12");
    dto.setDes("我饿了");
    list.add(dto);

    TeacherInfoDto dto2 = new TeacherInfoDto();
    dto2.setId(2);
    dto2.setPhone("16732678543");
    dto2.setName("Lvshen");
    dto2.setAddress("中国 鄱阳湖");
    dto2.setEnrolDate("2021-04-18");
    dto2.setDes("I can fly");
    list.add(dto2);

    return list;
}

我们在Controller层编写如下代码:

@RestController
@RequestMapping(value = "/excel", method = {RequestMethod.GET, RequestMethod.POST})
public class EasyExportController {

    @Autowired
    private ExcelService excelService;

    @RequestMapping(value = "/export", method = RequestMethod.POST)
    public void export(HttpServletResponse response) {
        List<TeacherInfoDto> teacherInfoDtoList = excelService.listInfo();
        excelService.exportExcelWeb(response, teacherInfoDtoList);
    }
}

我们启动项目,在浏览器中输入地址。

使用EasyExcel导出,这个轮子真方便

导出的Excel文件如下:

使用EasyExcel导出,这个轮子真方便

这款组件导出功能非常丰富,可以实现在单元格中添加批注,设置表格背景,表格大小,单元格合并等功能。

2Excel填充功能

EasyExcel除了一般的导出,还可以按一定的模板进行填充。

使用EasyExcel导出,这个轮子真方便

我们设置如上图的模板,模板中的data1,data2就是数据对象,后面跟了具体的数据属性。

测试代码如下:

使用EasyExcel导出,这个轮子真方便

FillExcelTemplate.xlsx就是设置的模板。执行代码我们来看看生成的Excel文件。

使用EasyExcel导出,这个轮子真方便
使用EasyExcel导出,这个轮子真方便

今天的文章就介绍这里了,如果对你有用,欢迎转发。




往期推荐




使用EasyExcel导出,这个轮子真方便
使用EasyExcel导出,这个轮子真方便

扫码二维码

获取更多精彩

Lvshen_9

使用EasyExcel导出,这个轮子真方便
使用EasyExcel导出,这个轮子真方便

原文始发于微信公众号(Lvshen的技术小屋):使用EasyExcel导出,这个轮子真方便

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/262040.html

(0)
Java朝阳的头像Java朝阳

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!