使用easypoi导出excel

EasyPOI是在jeecg的poi模块基础上,继续开发独立出来的,可以说是2.0版本,EasyPoi封装的目的和jeecg一致,争取让大家write less do more ,在这个思路上easypoi可以让大家几乎不写代码的情况下完成Excel的导入导出,Excel的模板导出(制作漂亮的Excel),Word模板的导出,让大家从复杂的POI的接口中解脱出来,同时更迅速的完成工作.

EasyPoi的特性

•      注解是基础,让大家见名知意

•      注解是核心,让大家快速开发

•      简单的导出导入接口,可以快速完成

•      简单的数据接口,自定义数据

•      Excel模板,美化的Excel,程序一天,Excel1分钟

•      Word模板,通知类文件的强大神器

•      SpringView集成

easypoi在项目中的应用:

需要引入的jar包:

        <!--easypoi导出excel-->
        <!--easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能-->
        <dependency>
            <groupId>org.jeecg</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>2.3.1</version>
        </dependency>
        <!--easypoi-web  耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能-->
        <dependency>
            <groupId>org.jeecg</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>2.3.1</version>
        </dependency>
        <!--easypoi-annotation 基础注解包,作用与实体对象上,拆分后方便maven多工程的依赖管理-->
        <dependency>
            <groupId>org.jeecg</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>2.3.1</version>
        </dependency>

然后在实体类中添加easypoi的注解:

@ExcelTarget("summaryexcel")
@Data
public class SummaryExcel {


    @Excel(name = "日期", orderNum = "1", mergeVertical = true, isImportField = "date")
    private String date;//当天日期

    @Excel(name = "能源类型", orderNum = "2", mergeVertical = true, isImportField = "type")
    private String type;         // 能源类型

    @Excel(name = "能源用量", orderNum = "3", mergeVertical = true, isImportField = "sum")
    private Double sum;          // 用量
}

然后就可以在controller层直接使用easypoi:

    
  @GetMapping("getexcel")
  public void download(HttpServletRequest request, HttpServletResponse response,String start,String end) throws Exception { // 告诉浏览器用什么软件可以打开此文件 response.setHeader("content-Type", "application/vnd.ms-excel"); // 下载文件的默认名称 response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("数据表","UTF-8") + ".xls"); //编码 response.setCharacterEncoding("UTF-8"); List<SummaryExcel> list = summaryService.summaryexcel(start,end); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), SummaryExcel.class, list); workbook.write(response.getOutputStream()); }

这样一个简单的用easypoi实现excel导出就完成了。

easypoi在开源中国:https://www.oschina.net/news/54995/jeecg-easypoi-2-0-3

easypoi文档:http://easypoi.mydoc.io/

posted @ 2018-04-20 17:15  谁将新樽辞旧月,今月曾经照古人  阅读(688)  评论(0编辑  收藏  举报