编辑 | blame | 历史 | 原始文档

Excel导出

一、初次尝试

  1. NoticeController下新建接口 exportNotice
    ~~~java
    @GetMapping("export-notice")
    public void exportNotice(HttpServletResponse response) {
    List list = new ArrayList<>();
    ExcelUtil.export(response, "通知公告导出数据", "通知公告数据表", list, NoticeExcel.class);
    }
    ~~~
  2. 浏览器访问:http://localhost/blade-desk/notice/export-notice,查看下载结果
    ![](../../images/screenshot_1586770289821.png)
    ![](../../images/screenshot_1586770388612.png)
  3. 发现发布日期换行了,我们调整bean的@ColumnWidth配置
    ![](../../images/screenshot_1586770432771.png)
  4. 再次导出发现正常
    ![](../../images/screenshot_1586770511090.png)

二、数据导出

  1. 改造 exportNotice 我们进行数据填充
    ~~~java
    @GetMapping("export-notice")
    public void exportNotice(HttpServletResponse response) {
    List list = new ArrayList<>();

NoticeExcel ne1 = new NoticeExcel();
ne1.setTitle("标题1");
ne1.setCategoryName("发布通知");
ne1.setReleaseTime(DateUtil.now());
ne1.setContent("内容1");

NoticeExcel ne2 = new NoticeExcel();
ne2.setTitle("标题2");
ne2.setCategoryName("批转通知");
ne2.setReleaseTime(DateUtil.now());
ne2.setContent("内容2");

list.add(ne1);
list.add(ne2);

ExcelUtil.export(response, "通知公告导出数据", "通知公告数据表", list, NoticeExcel.class);
}

~~~
2. 浏览器访问:http://localhost/blade-desk/notice/export-notice,查看下载结果,可以看到数据填充成功
![](../../images/screenshot_1586790463277.png)
3. 后续若需要对接至数据库数据,则只需要编写mapper,返回对应的List<NoticeExcel>类型即可