首先 pom.xml 引入依赖,EasyExcel 版本更新快,不同版本 API 均有不同,有些已经废弃。

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.0.0</version>
</dependency>

EasyExcel 高度封装了 Excel 的操作,下面是读取一个 Excel,其包含表头,内容行:

public void importSynonyms(MultipartFile file, String type) throws Exception {ExcelListener<SynonymModel> listener = new ExcelListener<>();try {EasyExcelFactory.read(file.getInputStream(), SynonymModel.class, listener).sheet(0).doRead();} catch (Exception e) {logger.info(e.getMessage());}List<SynonymModel> rows = listener.getRows();...// 完成 Excel到映射类对象的反射,可以进行业务逻辑处理了
}

为了顺利解析EasyExcel 并反射成 java 对象,需要定义目标映射类,并且实现 AnalysisEventListener 接口,该接口对 Excel 每一行进行解析,并提供事件钩子和辅助方法。下面是映射类,注意 index 必须 0-based,其值和 Excel 文件列的序号一致。

监听接口负责解析 Excel,逐行解析并反射成映射类对象。

下面是用 EasyExcel 导出数据:

public void exportConceptMapping(int id, HttpServletResponse resp){List<ConceptMappingList> data = new ArrayList<>();// 处理 data 数据WriteSheet sheet = new WriteSheet();WriteTable table = new WriteTable();List<List<String>> head = new ArrayList<>();List<String> col = new ArrayList<>();col.add("列名 1");head.add(col);List<String> col2 = new ArrayList<>();col2.add("列名 2");head.add(col2);table.setHead(head);try {try (BufferedOutputStream ops = new BufferedOutputStream(resp.getOutputStream())) {resp.setContentType("application/x-xls");resp.addHeader("Content-Disposition", "attachment;filename=test.xlsx");resp.setCharacterEncoding("UTF-8");ExcelWriter writer = EasyExcelFactory.write(ops).build();writer.write(data, sheet, table);writer.finish();}} catch (IOException e) {e.printStackTrace();throw new RuntimeException("导出文件出错:" + e.getMessage());}
}

使用阿里 EasyExcel 读写 Excel 文件相关推荐

  1. 阿里EasyExcel读写excel文件的基本使用

    EasyExcel读写excel文件 1.EasyExcel简介 2.对excel的写操作 1.1 创建一个普通的maven项目并引入相关依赖 1.2 创建实体类 1.3 实现写操作 1.3.1 创建 ...

  2. Alibaba开源工具EasyExcel读写Excel文件

    前言 工作中使用 excel 表格处理数据是很常见的操作,经常会使用 excel 文件来导入数据或者导出数据,是不是脑海中已经思考有哪些处理excel框架? 小编之前呢就知道Java 解析.生成 Ex ...

  3. 使用EasyExcel读写Excel文件

    笔者之前一直使用POI读写Excel文件,最近有个需求需要读取大概80万行数据的Excel,使用POI读取到10.2万行左右就卡死不动了,而且CPU占用直接拉满到100%,内存占用也很高. 查找资料后 ...

  4. c# 中wpfexcel_VS2017下编写C#程序读写Excel文件

    原标题:VS2017下编写C#程序读写Excel文件 前言: 有时候我们需要对Excel文件进行特殊处理,这种情况下写个小程序是很方便的.最近刚开始学C#,正好有同学需要处理个Excel文件,我就写了 ...

  5. 使用easyexcel读写Excel

    title: "使用easyexcel读写Excel" url: "https://wsk1103.github.io/" tags: Java 学习笔记 JA ...

  6. EasyExcel实现Excel文件导入导出

    1 EasyExcel简介 EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel. github地址: https://git ...

  7. python怎么读excelsheet_python3 excle(python怎么读写excel文件)

    python读取已经打开的3个word和excle文件的路径 用 win32com 操控 word和Excel就可以实现 咋样把python写入excle中 # 需安装 xlrd-0.9.2 和 xl ...

  8. python pandas读取excel-Python使用Pandas读写EXCEL文件教程

    欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  是微软出品的和款办公软 ...

  9. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

最新文章

  1. vassist的安装
  2. 【HDU - 5418】Victor and World(tsp旅行商问题,状压dp,floyd最短路,图论)
  3. Elasticsearch之settings和mappings(图文详解)
  4. JavaScript学习(七)
  5. 48页小米用户画像实战PPT
  6. Cadence OrCAD Capture TCL/TK脚本实例
  7. KVM虚拟化技术(理论理解以及虚拟化平台搭建步骤)
  8. 风力摆控制系统(B 题 本科组)-- 2015 年全国大学生电子设计竞赛试题
  9. python sorted lambda_详解python中的lambda与sorted函数
  10. 敢问路在何方?路在脚下!
  11. 使用git时代码被冲掉
  12. SAP常见问题与解决办法(转)
  13. PHP DES加密解密类
  14. SpringBoot2.x 集成 七牛云对象存储Kodo
  15. C语言 键盘输入年月日,计算该年第几天
  16. perl 模块使用范例
  17. 最新的Android版本是什么?
  18. EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表
  19. 最新社区团购小程序源码+前后端+搭建教程
  20. c语言综合作业题库,计算机二级等级考试《C语言》选择题专项练习合集

热门文章

  1. 在视频海洋里徜徉的年轻人,618都是怎么选手机的?
  2. 傅盛“追风”GPT,猎户星空春天来了?
  3. SAP项目采购申请与预留,收货入库,项目领用or项目发货,及报表查看操作
  4. @Retryable和@Recover的使用踩坑记录
  5. Charm-crypto的安装以及简单实现的聚合签名算法
  6. c语言程序 fopen用法,fopen(c语言fopen函数的用法示例)
  7. 24岁高材生重生记,从国企员工到iOS工程师
  8. 【091】断锁-寻找连接点正确顺序的小游戏
  9. input值输入数字
  10. 记录mars3d的使用 - geojson图层