当前位置: ManBetXapp > 百科 > 科技 >正文

EasyPoi的导入和导出功能

人气:468 ℃ /2023-07-27 22:49:52

EasyPoi是一款开源的软件,用于开发EXCEL表格的导入和导出功能,简单易上手,代码量也很少,非常适合初学者去使用。我们使用Java开发Excel导入导出功能,以前常用的是Poi,但是需要编写的代码量太多,使用EasyPoi仅需要在代码中添加注解,便可以完成大部分普通的Excel编辑工作。

工具/材料

IntelliJ IDEA

操作方法

我们是使用Maven管理项目,首先我们需要添加开发EasyPoi所依赖的jar包,如下所示。

cn.afterturn

easypoi-base

3.1.0

cn.afterturn

easypoi-web

3.1.0

cn.afterturn

easypoi-annotation

3.1.0

EasyPoi 可以自适应Excel的xls和xlsx两种格式,我们今天主要讲解使用注解进行导入和导出的功能,我们只要修改注解就可以修改Excel的字段和格式。我们需要编写实体和Excel表格的对应关系,在实体上添加注解。@Excel 注解作用到filed(列)上面,是对列的描述。@Excel注解的name属性即为列名,format用于设置时间的格式。我们创建一个PersonEntity,实现序列化接口,并添加如下的注解,另外该类需要getter和setter方法。

我们写一个测试类去测试导出功能,创建一个测试类,并在main方法中编写测试代码,我们使用easypoi工具类ExcelExportUtil 的exportExcel方法,其中new ExportParams()是标题和sheet的基本设置,当然这些设置有些不是必须的,可以根据需要自行修改。具体的导出代码如下图所示。

接下来我们右键执行该方法,此时会生成一个excel文件,如下图所示,我们可以看到设置的标题和数据已存在该excel表格中。

接下来我们编写导入的方法,将上面生成的excel表格导入,使用ExcelImportUtil工具类的importExcel方法,ImportParams用于设置导入参数。

接下来我们测试导入功能,在执行方法后提示创建对象异常,我们需要检查异常的原因,此时发现我们上面创建的实体类没有无参构造方法,因为我们已经创建了一个有参的构造,就不会帮我们自动创建无参构造了,因此我们需要手动创建,如下图所示。

另外,我们在编写PersonEntity实体类时,步骤2的id字段上面没有@Excel注解,所以该字段不起任何作用,若不需要的话可以删除。

特别提示

EasyPoi注解作用的实体类一定要有无参构造,若实体类中存在有参构造,一定要手动创建一个无参构造。

使用easypoi导出excel没有反应

EasyPoi模板导出首列数据不显示(巨坑)

最近在使用EasyPoi模板导出Excel功能时,遇到个问题:第一列数据显示不出来。反复检查模板文件和程序数据,对照官方文档又看了很多遍,都没有找到原因

程序代码:

TemplateExportParams exportParams = new TemplateExportParams(templatePath);Map map = new HashMap();map.put("mapList",list);Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map);

模板文件:

最后各种试错,终于找到了原因,要把t去掉,{{$fe: mapList t t.serialNum需要改为{{$fe: mapList t.serialNum,EasyPoi官方文档上面也是带t的,这应该是EasyPoi的一个bug吧

EasyPoi官方截图:

搜索更多有关“ EasyPoi的导入和导出功能”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2008-2024 ManBetXappAll Rights Reserved. 手机版