easyPOI导出案例

1.引入jar包

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

2.开发前台页面

window.location.href="${pageContext.request.contextPath}/user/export";

3.开发实体类

@Excel(name = "用户编号")
private String id;
@Excel(name = "用户账号")
private String username;
@Excel(name = "用户电话")
private String mobile;

4.开发接口

    @RequestMapping("export")
    public void export(HttpServletRequest request, HttpServletResponse response){
//        从数据库中查询所有的用户
        List<User> users = userService.exportAll();
//        定义文件名
        String filenName = "用户报表(" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ").xls";
//        处理下载中文乱码
        try {
            filenName = new String(filenName.getBytes("gbk"),"ISO-8859-1");
//            设置相应类型
            response.setContentType("application/vnd.ms-excel");
//            设置相应头,attachment:以附件的形式进行下载
            response.setHeader("content-disposition","attachment;filename="+filenName);
//            使用easyPOI的生成workbook的方法
            Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用户详细信息表","用户信息"), User.class, users);
//            用流的方式将workbook写到页面
            workbook.write(response.getOutputStream());
//            关闭workbook
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

5.导出效果

如果想学习更多有关easyPOI的相关知识,另外有对应关系的导出或者有图片的导出,大家可以自行去easyPOI的官网进行学习

发布了26 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wazk2008/article/details/90642349