使用EasyPoi怎么导入导出Excel文档
创始人
2024-12-24 14:41:02
0次

一、EasyPoi简介

EasyPoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法 ,不如poi那么自定义,不如jxl那么多标签,但是我们就是写的少,写的少。

EasyPoi的主要特点

  1. 设计精巧,使用简单  接口丰富,扩展简单  默认值多,write less do more  spring mvc支持,web导出可以简单明了

二、EasyPoi的功能介绍

Excel自适应xls和xlsx两种格式,word只支持docx模式,功能还是挺丰富的。

1.Excel导入

注解导入  Map导入  大数据量导入sax模式  导入文件保存  文件校验  字段校验

2.Excel导出

注解导出  模板导出  html导出

3.Excel转html

4.word导出

5.pdf导出

三、重点功能介绍

1.注解

EasyPoi起因就是Excel的导入导出,最初的模板是实体和Excel的对应,model--row,filed--col 这样利用注解我们可以和容易做到excel到导入导出 经过一段时间发展,现在注解有5个类分别是

@Excel 作用到filed上面,是对Excel一列的一个描述  @ExcelCollection 表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目就可以用集合表示  @ExcelEntity 表示一个继续深入导出的实体,但他没有太多的实际意义,只是告诉系统这个对象里面同样有导出的字段  @ExcelIgnore 和名字一样表示这个字段被忽略跳过这个导导出  @ExcelTarget 这个是作用于最外层的对象,描述这个对象的id,以便支持一个对象可以针对不同导出做出不同处理

2.Excel 模板

模板是处理复杂Excel的简单方法,复杂的Excel样式,可以用Excel直接编辑,完美的避开了代码编写样式的雷区,同时指令的支持,也提了模板的有效性。就像下面这样使用,具体用法请看文档。

3.Excel<->Html的互转

4.Word模板导出

5.图片的导入导出

@Test//图片导入public void test() {    try {      ImportParams params = new ImportParams();      params.setNeedSave(true);      List result = ExcelImportUtil.importExcel(          new File(PoiPublicUtil.getWebRootPath("import/imgexcel.xls")),          CompanyHasImgModel.class, params);      for (int i = 0; i < result.size(); i++) {        System.out.println(ReflectionToStringBuilder.toString(result.get(i)));      }      Assert.assertTrue(result.size() == 4);    } catch (Exception e) {      e.printStackTrace();    }  }} //导出 @Excel(name = "公司LOGO", type = 2 ,width = 40 , height = 20,imageType = 1)  private String companyLogo;

6.Excel大数据导出

大数据导出是当我们的导出数量在几万,到上百万的数据时,一次从数据库查询这么多数据加载到内存然后写入会对我们的内存和CPU都产生压力,这个时候需要我们像分页一样处理导出分段写入Excel缓解Excel的压力 EasyPoi提供的是两个方法 强制使用 xssf版本的Excel 。具体代码看文档,我们看下资源占用即可:

多次测试用时统计,速度还是可以接受的。

100W      16.4s      24.3MB      5              100W      15.9s      24.3MB      5              200W      29.5s      48.5MB      5              100W      30.8s      37.8MB      10              200W      58.7s      76.1MB      10

7.大数据导出View的用法

Easypoi view 项目是为了更简单的方便搭建在导出时候的操作,利用spring mvc 的view 封装,更加符合spring mvc的风格。EasypoiBigExcelExportView 是针对大数据量导出特定的View,在跳转到这个View的时候不需要查询数据,而且这个View自己去查询数据,用户只要实现IExcelExportServer接口就可以了 。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...