如何在Java中利用EasyPoi实现一个表导出功能

  介绍

如何在Java中利用EasyPoi实现一个表导出功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、引入maven jar包

& lt; dependency>   ,,,& lt; groupId> cn.afterturn   ,,,& lt; artifactId> easypoi-base   ,,,& lt; version> 3.2.0   & lt;/dependency>   & lt; dependency>   ,,,& lt; groupId> cn.afterturn   ,,,& lt; artifactId> easypoi-web   ,,,& lt; version> 3.2.0   & lt;/dependency>   & lt; dependency>   ,,,& lt; groupId> cn.afterturn   ,,,& lt; artifactId> easypoi-annotation   ,,,& lt; version> 3.2.0   & lt;/dependency>

二、编写导出的实体类(使用注解形式)

1, DeptUtil类

@ExcelTarget (“deptUtil")   public  class  DeptUtil  {      @Excel才能(name =,“部门编号“,,width =, 30,,, needMerge =,真的)   private 才能Integer  id;      @Excel才能(name =,“部门名称“,,width =, 30,,, needMerge =,真的)   private 才能;String  deptName;      @ExcelCollection才能(name =,“员工信息“)   private 才能;List< EmpUtil>,是员工;         …省略getter、setter方法

2, EmpUtil类

@ExcelTarget (“empUtil")   public  class  EmpUtil {      @Excel才能(name =,“序号“,,width =, 30日,isColumnHidden =,真的)   private 才能Integer  id;      @Excel才能(name =,“员工姓名“,,width =, 30日,groupName =,“基本信息“)   private 才能;String  empName;      @Excel才能(name =,“年龄,,,width =, 30日,type =, 10日,groupName =,“基本信息“)   private 才能;Integer 年龄;      @Excel才能(name =,“入职时间,,,width =, 30日,groupName =,“工作信息,,,format =,“yyyy/MM/dd  HH: mm")   private 才能;Date  hiredate;      @Excel才能(name =,“薪酬“,,width =, 30日,type =, 10日,groupName =,“工作信息“)   private 才能BigDecimal 工资;         …省略getter、setter方法

3,核心代码

public  String 出口(){      ,,,Workbook  Workbook =,空;   ,,,try  {   ,,,,,List, exportList =, exportService.exportList ();   ,,,,,System.err.println (JSONArray.toJSONString (exportList));      ,,,,,//,创建参数对象(用来设定excel得表得内容等信息)   ,,,,,ExportParams  deptExportParams =, new  ExportParams ();   ,,,,,//,设置表得名称   ,,,,,deptExportParams.setSheetName(“员工报表1“);   ,,,,,//,创建sheet1使用得地图   ,,,,,Map<字符串,Object>, deptExportMap =, new  HashMap<在();   ,,,,,//,标题的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName   ,,,,,deptExportMap.put (“title",, deptExportParams);   ,,,,,//,模版导出对应得实体类型   ,,,,,deptExportMap.put (“entity",, DeptUtil.class);   ,,,,,//,表中要填充得数据   ,,,,,deptExportMap.put (“data",, exportList);      ,,,,,ExportParams  empExportParams =, new  ExportParams ();   ,,,,,empExportParams.setSheetName(“员工报表2“);   ,,,,,//,创建sheet2使用得地图   ,,,,,Map<字符串,Object>, empExportMap =, new  HashMap<在();   ,,,,,empExportMap.put (“title",, empExportParams);   ,,,,,empExportMap.put (“entity",, DeptUtil.class);   ,,,,,empExportMap.put (“data",, exportList);      ,,,,,//,将sheet1, sheet2, sheet3使用得地图进行包装   ,,,,,List祝辞,sheetsList =, new  ArrayList<在();   ,,,,,sheetsList.add (deptExportMap);   ,,,,,sheetsList.add (empExportMap);   ,,,,,//,执行方法   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Java中利用EasyPoi实现一个表导出功能