EasyExcel入门使用

目录标题

  • 官网github地址
  • 中文文档
  • 简单读
  • 简单写
  • 说明

官网github地址

地址

中文文档

中文文档

简单读

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;import java.util.Date;/*** Created with IntelliJ IDEA.** @Auther: zlf* @Date: 2021/03/24/19:30* @Description:*/@Data
public class DemoData {@ExcelProperty(value = "字符串标题")private String string;@ExcelProperty(value = "日期标题")private Date date;@ExcelProperty(value = "数字标题")private Double doubleData;/*** 忽略这个字段*/@ExcelIgnoreprivate String ignore;}

读的话我们需要监听每一行

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.zlf.easyExcel.entity.DemoData;/*** Created with IntelliJ IDEA.** @Auther: zlf* @Date: 2021/03/24/19:29* @Description: */
public class DemoDataListener extends AnalysisEventListener<DemoData> {/*** @Description: 这个每一条数据解析都会来调用* @Param: [demoData, analysisContext]* @return: void* @Author: zlf* @Date: 2021/3/24*/public void invoke(DemoData demoData, AnalysisContext analysisContext) {System.out.println("*****"+demoData);}/*** @Description: 所有数据解析完成了 都会来调用* @Param: [analysisContext]* @return: void* @Author: zlf* @Date: 2021/3/24*/public void doAfterAllAnalysed(AnalysisContext analysisContext) {System.out.println("读取完毕,请及时持久化存储");}
}

/*** @Description: easyExcel 读* @Param: []* @return: void* @Author: zlf* @Date: 2021/3/24*/@Testpublic void Read(){// 写法1:String fileName = path + File.separator+"test.xlsx";// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead();// 读取全部sheet// 这里需要注意 DemoDataListener的doAfterAllAnalysed 会在每个sheet读取完毕后调用一次。然后所有sheet都会往同一个DemoDataListener里面写EasyExcel.read(fileName,DemoData.class,new DemoDataListener()).doReadAll();//读取部分sheet 请参考官方文档。。}

效果
在这里插入图片描述
在这里插入图片描述

简单写

写的话是不需要监听的

/*** @Description: easyExcel 写* @Param: []* @return: void* @Author: zlf* @Date: 2021/3/24*/@Testpublic void write(){data();// 写法1String fileName = path +"/"+ "simpleWrite" + System.currentTimeMillis() + ".xlsx";// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭// 如果这里想使用03 则 传入excelType参数即可EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(data());// 详细请参考官方文档}private List<DemoData> data() {List<DemoData> list = new ArrayList<DemoData>();for (int i = 0; i < 10; i++) {DemoData data = new DemoData();data.setString("字符串" + i);data.setDate(new Date());data.setDoubleData(0.56);list.add(data);}return list;}

生成的execl文档
在这里插入图片描述

说明

详细请参考 中文文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 创建webpack项目_从0到1开发一个小程序cli脚手架(一)创建页面/组件模版篇...

github地址&#xff1a;https://github.com/jinxuanzheng01/xdk-clicli工具是什么&#xff1f;在正文之前先大致描述下什么是cli工具&#xff0c;cli工具英文名command-line interface,也就是命令行交互接口&#xff0c;比较典型的几个case例如&#xff0c;create-react-app&am…

Nginx 502 Bad Gateway 错误的原因及解决方法

2019独角兽企业重金招聘Python工程师标准>>> 刚才在调试程序的时候&#xff0c;居然服务器502错误&#xff0c;昨天晚上也发生了&#xff0c;好像我没有做非常规的操作。 然后网上寻找了下答案&#xff0c; 把一些原因及解决方法汇总一下&#xff0c;以防生产环境下…

easyExcel实现导入数据库

目录标题需求easyExcel Maven 依赖过程效果需求 我们需要将excel的数据导入至数据库中。 easyExcel Maven 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dep…

CentOS7 shell脚本安装jdk

1&#xff0c;系统环境 操作系统 CentOS Linux release 7.6.1810 (Core) 64位 下载 Java SE Development Kit 8u152&#xff0c;文件名&#xff1a;jdk-8u152-linux-x64.rpm&#xff0c;下载地址&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/ja…

vue数组刷新_Vue中数组更新后,页面没有动态刷新问题

最近使用vue开发时&#xff0c;在一个函数中使用for循环&#xff0c;改变了页面中的数组&#xff0c;在函数中查看是修改成功的&#xff0c;但是页面中没有动态刷新。在Vue的官方文档有提到这样一个注意事项&#xff1a;数组变更检测注意事项&#xff1a;由于 JavaScript 的限制…

Exchange收件人管理

收件人分为三种 邮箱用户&#xff1a;AD用户&#xff0c;可登陆系统&#xff0c;有本地邮箱&#xff0c;可存储&#xff0c;可收&#xff0c;可发&#xff0c;适合公司内部办公人员邮件用户&#xff1a;AD用户&#xff0c;可登陆系统&#xff0c;无本地邮箱&#xff0c;有其他域…

如何解决在使用ElementUI时发现有些控件是英文的

如下图 解决 我们需要在入口文件 main.js 中将 ElementUI 的默认语言改为中文。 import locale from element-ui/lib/locale/lang/en // lang i18n 英文 import zhLocale from element-ui/lib/locale/lang/zh-CN // 中文// 选择elementUi 默认语言为中文 Vue.use(ElementUI, …

CentOS7 源码编译安装Python3 shell脚本

1&#xff0c;系统环境 操作系统 CentOS Linux release 7.6.1810 (Core) 64位 2&#xff0c;Linux的Python3安装后即集成了pip&#xff0c;无需重新独立安装pip&#xff0c;执行以下命令完成python3和pip3的安装 yum groupinstall -y "Development tools" # 安…

配置phoenix连接hbase_使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试

什么是 Phoenix &#xff1f;Apache Phoenix 是运行在Hbase之上的高性能关系型数据库&#xff0c;通过Phoenix可以像使用jdbc访问关系型数据库一样访问hbase。Phoenix&#xff0c;操作的表以及数据存储在hbase上。phoenix只需要和hbase进行表关联。然后在用工具进行一些读写操作…

[置顶] Z-STACK之OSAL_Nv非易失性存储解读上

本章解读Z-STACK中关于Nv操作的源码&#xff0c;以及z-stack中Nv的使用&#xff01; 在Z-STACK中Nv存储器主要用于保存网络的配置参数&#xff0c;如网络地址&#xff0c;使 系统在掉电重启仍然能读取一些参数&#xff0c;自动加入到原来的网络中&#xff0c;这样其网络地址没有…

ElementUI+Java实现搜索提示列表

效果 实现流程 首先我们需要在后端获取数据&#xff0c;我们可以根据name属性去模糊查询&#xff0c;返回Map类型的列表 然后将它返回给前端。 controller ApiOperation("根据关键字查询讲师名列表")GetMapping("list/name/{key}")public ResultVo sele…

CentOS7 搭建Pulsar 消息队列环境,CentOS(Linux)部署Pulsar,亲测成功,以及Python操作Pulsar实例驱动

在 最佳开源数据库与数据分析平台奖 中&#xff0c;之前曾连续两年入选的 Kafka 意外滑铁卢落选&#xff0c;取而代之的是新兴项目 Pulsar&#xff0c;Bossie Awards中对 Pulsar 点评如下&#xff1a;“Pulsar 旨在取代 Apache Kafka 多年的主宰地位。Pulsar在很多情况下提供了…

为什么要学python语言、学完有什么好处_学编程为什么首选Python?学完Python的优势有哪些?...

原标题&#xff1a;学编程为什么首选Python&#xff1f;学完Python的优势有哪些&#xff1f;Python 是一门更注重可读性和效率的语言&#xff0c;尤其是相较于 Java&#xff0c;PHP 以及 C 这样的语言&#xff0c;它的这两个优势让其在开发者中大受欢迎。正是由于 Python 易于上…

SpringSecurity +Jwt 实现权限管理

目录标题原理架构图demo的项目结构JwtTokenUtilRestAuthenticationEntryPoint 和 RestfulAccessDeniedHandlerMyUserDetailsServiceJwtAuthenticationTokenFilterSecurityConfigControllerPostman 测试为了方便&#xff0c;未采用是从数据库读取的方式。工具类都是别人那偷的&a…

FreeMarker_模板引擎_代码自动生成器_源码下载

首先我们先来认识一下Freemarker 1.what is the FreeMarker? 你可以到freemarker的官网上去&#xff0c;那里有很详细的介绍&#xff1a;http://freemarker.org/ 这里大概说一下&#xff1a;FreeMarker是一个用Java语言编写的模板引擎&#xff0c;它基于模板来生成文本输出。 …

CentOS7 搭建Kafka消息队列环境,以及Python3操作Kafka Demo

Kafka适合什么样的场景? 它可以用于两大类别的应用: 构造实时流数据管道&#xff0c;它可以在系统或应用之间可靠地获取数据。 (相当于message queue)构建实时流式应用程序&#xff0c;对这些流数据进行转换或者影响。 (就是流处理&#xff0c;通过kafka stream topic和topi…

hive序列生成_常见的序列化框架及Protobuf原理

享学课堂作者&#xff1a;逐梦々少年转载请声明出处&#xff01;上次我们详细的学习了Java中的序列化机制&#xff0c;但是我们日常开发过程中&#xff0c;因为java的序列化机制的压缩效率问题&#xff0c;以及序列化大小带来的传输的效率问题&#xff0c;一般很少会使用原生的…

Linux(CentOS 7)安装docker

此文转载&#xff1a;https://www.cnblogs.com/qgc1995/p/9553572.html&#xff0c;感谢原作者写出了这么棒的Docker部署文章。 我是虚拟机装的Centos7&#xff0c;linux 3.10 内核&#xff0c;docker官方说至少3.8以上&#xff0c;建议3.10以上&#xff08;ubuntu下要linux内…

decode语句不能再嵌套_自学C++基础教程【流程控制语句】(for、while 、do while 语句 )...

for语句for语句是C语言所提供的一种功能广泛的循环语句。下图为for语句的标准形式&#xff1a;表达式1&#xff1a;通常用于给循环变量赋初值&#xff0c;一般是赋值表达式。表达式2&#xff1a;通常用于设立循环条件&#xff0c;一般为关系表达式或逻辑表达式。表达式3&#x…

CentOS 7 利用Docker搭建禅道系统

1&#xff0c;系统环境 a&#xff0c;操作系统 CentOS Linux release 7.6.1810 (Core) 64位 b&#xff0c;确保Docker环境已经安装&#xff0c;具体教程请看 CentOS 安装docker 禅道系统一键安装说明文档&#xff1a;http://www.zentao.net/book/zentaopmshelp/90.html …