使用阿里 EasyExcel 读写 Excel 文件
首先 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 文件相关推荐
- 阿里EasyExcel读写excel文件的基本使用
EasyExcel读写excel文件 1.EasyExcel简介 2.对excel的写操作 1.1 创建一个普通的maven项目并引入相关依赖 1.2 创建实体类 1.3 实现写操作 1.3.1 创建 ...
- Alibaba开源工具EasyExcel读写Excel文件
前言 工作中使用 excel 表格处理数据是很常见的操作,经常会使用 excel 文件来导入数据或者导出数据,是不是脑海中已经思考有哪些处理excel框架? 小编之前呢就知道Java 解析.生成 Ex ...
- 使用EasyExcel读写Excel文件
笔者之前一直使用POI读写Excel文件,最近有个需求需要读取大概80万行数据的Excel,使用POI读取到10.2万行左右就卡死不动了,而且CPU占用直接拉满到100%,内存占用也很高. 查找资料后 ...
- c# 中wpfexcel_VS2017下编写C#程序读写Excel文件
原标题:VS2017下编写C#程序读写Excel文件 前言: 有时候我们需要对Excel文件进行特殊处理,这种情况下写个小程序是很方便的.最近刚开始学C#,正好有同学需要处理个Excel文件,我就写了 ...
- 使用easyexcel读写Excel
title: "使用easyexcel读写Excel" url: "https://wsk1103.github.io/" tags: Java 学习笔记 JA ...
- EasyExcel实现Excel文件导入导出
1 EasyExcel简介 EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel. github地址: https://git ...
- python怎么读excelsheet_python3 excle(python怎么读写excel文件)
python读取已经打开的3个word和excle文件的路径 用 win32com 操控 word和Excel就可以实现 咋样把python写入excle中 # 需安装 xlrd-0.9.2 和 xl ...
- python pandas读取excel-Python使用Pandas读写EXCEL文件教程
欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel 是微软出品的和款办公软 ...
- python处理excel教程实例-python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
最新文章
- vassist的安装
- 【HDU - 5418】Victor and World(tsp旅行商问题,状压dp,floyd最短路,图论)
- Elasticsearch之settings和mappings(图文详解)
- JavaScript学习(七)
- 48页小米用户画像实战PPT
- Cadence OrCAD Capture TCL/TK脚本实例
- KVM虚拟化技术(理论理解以及虚拟化平台搭建步骤)
- 风力摆控制系统(B 题 本科组)-- 2015 年全国大学生电子设计竞赛试题
- python sorted lambda_详解python中的lambda与sorted函数
- 敢问路在何方?路在脚下!
- 使用git时代码被冲掉
- SAP常见问题与解决办法(转)
- PHP DES加密解密类
- SpringBoot2.x 集成 七牛云对象存储Kodo
- C语言 键盘输入年月日,计算该年第几天
- perl 模块使用范例
- 最新的Android版本是什么?
- EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表
- 最新社区团购小程序源码+前后端+搭建教程
- c语言综合作业题库,计算机二级等级考试《C语言》选择题专项练习合集
热门文章
- 在视频海洋里徜徉的年轻人,618都是怎么选手机的?
- 傅盛“追风”GPT,猎户星空春天来了?
- SAP项目采购申请与预留,收货入库,项目领用or项目发货,及报表查看操作
- @Retryable和@Recover的使用踩坑记录
- Charm-crypto的安装以及简单实现的聚合签名算法
- c语言程序 fopen用法,fopen(c语言fopen函数的用法示例)
- 24岁高材生重生记,从国企员工到iOS工程师
- 【091】断锁-寻找连接点正确顺序的小游戏
- input值输入数字
- 记录mars3d的使用 - geojson图层