EasyPoi的导入和导出功能
EasyPoi是一款开源的软件,用于开发EXCEL表格的导入和导出功能,简单易上手,代码量也很少,非常适合初学者去使用。我们使用Java开发Excel导入导出功能,以前常用的是Poi,但是需要编写的代码量太多,使用EasyPoi仅需要在代码中添加注解,便可以完成大部分普通的Excel编辑工作。
工具/材料
IntelliJ IDEA
操作方法
我们是使用Maven管理项目,首先我们需要添加开发EasyPoi所依赖的jar包,如下所示。
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
模板文件:
最后各种试错,终于找到了原因,要把t去掉,{{$fe: mapList t t.serialNum需要改为{{$fe: mapList t.serialNum,EasyPoi官方文档上面也是带t的,这应该是EasyPoi的一个bug吧
EasyPoi官方截图:
- 01-01教育
《骆驼祥子》读后感500字大全
- 06-22生活
冰粉能放冰箱保存多久
- 01-25生活
个性大气内衣店名字
- 11-19生活
沙发漆皮掉了怎样修复
- 02-28生活
珍贵来之不易女孩取名
- 07-03生活
清蒸帝王蟹要蒸多久
- 07-20生活
番石榴怎么催熟
- 08-08科技
没有驱动光盘如何安装打印机驱动
推荐
- 1幸福的近义词有哪些169
- 2迷你世界火箭燃料在哪209
- 3草莓酱可以做什么美食277
- 4鲁大师是流氓软件吗390
- 5亚裔和华裔有区别吗159
- 6青岛十大春季旅游景点221