ExcelUtil对easyexcel2.X进行封装,实现一个方法完成简单的excel导入和导出。

2023-11-06

easyexcel-basic-demo

ExcelUtil对easyexcel2.X进行封装,实现一个方法完成简单的excel导入和导出。

使用介绍:

一. 背景

主流office文档操作组件性能比较

组件 功能简介 使用场景 测试环境 内存消耗 读取时间 写入时间 文件大小
poi 1. 对Microsoft Office格式档案读和写的功能
2. HSSF提供读写Excel XLS
3. HPSF提供读写OLE2 Property Sets
4. POIFS提供读写OLE2 Filesystem
1. 操作Excel XLS
2. HSSFWorkbook只能解析2003之前版本xls格式
3. 使用HSSF时sheet最大行数65536,最大列数256
Win64 4核8g jdk1.8 5万行2列excel xls R:206.88MB W:138.34MB 1049ms 2005ms 4.15MB
poi-ooxml 1. poi升级扩展版本
2. XSSF提供读写XLSX
3. XSLF提供读写PPTX
4. XWPF提供读写DOCX
5. CommonSS读写XLS、XLSX
1. 操作pptx、docx、xlsx等
2. XSSF基于内存写入方式,一个sheet最大行数1048576,最大列数16384
3. SXSSF是在XSSF基础上基于内存+磁盘写入方式,用于大数据量的导出
Win64 4核8g jdk1.8 5万行2列excel xlsx/5万行word docx XSSF-R:185.04MB XSSF-W:405.58MB SXSSF-R:140.34MB SXSSF-W:41.83MB XWPF-R:23.14MB XWPF-W:158.21MB XSSF:2502ms SXSSF:1354ms XWPF:634ms XSSF:4644ms SXSSF:1417ms XWPF:21555ms XSSF:1.36MB SXSSF:1.33MB XWPF:999KB
poi-scratchpad 1. HWPF提供读写Word DOC
2. HSLF提供读写PPT
3. HDGF提供读Visio VSD
4. HPBF提供读Publisher PUB
5. HSMF提供读Outlook MSG
1. 操作PPT、DOC、VSD、PUB、MSG等格式
2. HWPFDocument写doc文件必须要先有doc文件
3. 不建议使用HWPF等低版本office
Win64 4核8g jdk1.8 5万行word doc R:81.80MB W:90.39MB 221ms 538ms 3.74MB
easyex********cel 阿里开源,重写了poi对Excel2007版的解析,不会出现OOM,2003版依赖POI的sax模式 xls、xlsx操作 Win64 4核8g jdk1.8 5万行2列xlsx R:80.10MB W:60.56MB 1053ms 1149ms 1.33MB

二. 依赖

目前easyexcel的版本是最新的正式版为 2.1.6

<!-- poi 相关设置导出样式-->
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi</artifactId>
	<version>3.17</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml-schemas</artifactId>
	<version>3.17</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>3.17</version>
</dependency>

<!-- 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ExcelUtil对easyexcel2.X进行封装,实现一个方法完成简单的excel导入和导出。 的相关文章

  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • 我可以使用 mod_rewrite 更改文件扩展名吗?例如 .jpeg 到 .jpg

    我希望使用 Apache mod rewrite 将文件提供为 jpg 而不是 jpeg 这可能吗 尝试这个 RewriteEngine on RewriteRule jpeg 1 jpg
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • PHP 拒绝从 var_dump、print 等输出数据

    我目前正在运行 WAMP 服务器 并且在过去的 30 分钟内一直在尝试弄清楚我的项目如何以及为什么不会输出任何指定的 PHP 数据 起初我以为是因为我有一个 htaccess文件的output buffering被禁用 所以我删除了它 仍然
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 基础算法题——错误票据(输入输出)

    前言 以前对getline并没有太深地理解 甚至觉得cin就够用 直至遇到了这道算法题 错误票据题目 问题描述 某涉密单位下发了某种票据 并要在年终全部收回 每张票据有唯一的ID号 全年所有票据的ID号是连续的 但ID的开始数码是随机选定的
  • rockchip — display-timing dts配置

    rockchip display timing dts配置 如何确定lcd timing参数
  • JDBC、C3P0、DBUtils

    一 JDBC的内容 JDBC API 定义了一系列的接口和类 集成在java sql和javax sql DriverManager 管理各种不同的JDBC驱动 JDBC驱动 负责连接不同类型的数据库 二 JDBC访问数据库步骤 Drive
  • 随机变量之常见分布

    0 概述 统计分析是可以帮助人们认清 刻画不确定性的方法 总体是某一特定事物可能发生结果的集合 随机变量 Random Variable 则是一个不确定事件结果是数值函数 Function 也就是说 把不确定事件的结果用数值来表述 即得到随
  • 开源盛会来袭,开发者们不容错过!

    开源社 KAIYUANSHE 当今国内开源势头正劲 想利用好开源软件 在开源的大潮中乘风破浪 成为佼佼者吗 2022 第七届中国开源年会 COSCon 22 将于 10 月 29 日 30 日 在线上 元宇宙 传统线上直播渠道 与线下 10
  • celery 启用worker ValueError: not enough values to unpack

    2018 01 12 19 08 15 545 INFO MainProcess Received task tasks add 5d387722 5389 441b 9b01 a619b93b4702 2018 01 12 19 08 1
  • oracle数据泵导入导出6,Oracle使用数据泵导入/导出数据(expdp/impdp)

    A电脑上的操作 expdp数据导出 运行cmd 登录数据库 输入命令 sqlplus 使用管理员角色登录需要在用户名后加 as sysdba 例如 sys as sysdba 创建目录路径 输入命令 create directory dat
  • Docker基础与基于Docker的ROS系统使用说明

    docker常用命令 docker load i xxx tar 将tar包导入为本地镜像 docker ps 列出所有正在运行的容器 docker image ls 列出所有的镜像 docker start
  • 浅谈 IEEE 802.3af 标准 PSE电路

    从第一篇文章 我们已经大致了解整个POE的组成 这篇文章我们主要学习 IEEE 802 3af 标准的 受电端电路 主要简化电路如下 电路中省略了芯片等 只为一个大概的电路图 从电路可以看出主要分为三个部分 具体过程如下 在分级阶段 PSE
  • spring cloud 升级config-client及部署问题

    接昨天 升级微服务到config client又遇到一些问题 花了大半天的时间 其实 不该花这么久的 所以还是踩坑了 直接说问题吧 rabbitmq连接报错 主要有几个报错 原因应该都是未连接上rabbitmq导致的 org springf
  • Ubuntu下QtOpenGL无法正常使用GLU库的解决方法

    本文来自 http www linuxdiyf com linux 2873 html 一 修改makefile文件 某个库的接口不被识别的最可能的原因是没有包含该库的头文件 可以尝试将 include
  • idea添加database插件_IDEA插件系列(6):Database Navigator插件操作数据库

    0 目录 1 插件介绍 2 安装方式 3 使用方法 1 插件介绍 Database Navigator插件 该产品为IntelliJ IDEA开发环境和相关产品增加了广泛的数据库开发和维护功能 它与合格且符合IDE要求的SQL和PL SQL
  • Web自动化测试12:Selenium窗口截图、验证码处理

    更多功能测试以及全套学习路线图均在专栏 戳进去领取 Web自动化测试01 认识web自动化在什么项目中适用 Web自动化测试02 Web自动化测试工具选择大全 Web自动化测试03 Selenium安装配置 详细教程 Web自动化测试04
  • kubernetes Deployment 详解 更新/回滚/缩放/暂停/恢复部署操作

    涉及文档 Deployments 官方文档 Deployments 简介 一个 Deployment 为 Pods 和 ReplicaSets 提供声明式的更新能力 你负责描述 Deployment 中的 目标状态 而 Deployment
  • SpringToolSuite4中集成maven

    目录 一 什么是Maven 二 Maven的使用 一 什么是Maven Maven是基于项目对象模型 POM project object model 可以通过一小段描述信息 配置 来管理项目的构建 报告和文档的软件项目管理工具 Maven
  • ImportError lib64 libstdc++.so.6 version CXXABI 1.3.9 not found required by home anaconda

    文章目录 1 现象 2 解决方案 3 参考 1 现象 ImportError lib64 libstdc so 6 version CXXABI 1 3 9 not found required by home qtxu anaconda3
  • YOLOX的解耦头结构思考

    问题 YOLOX提出了一个Decoupled Head结构以代替YOLO Head 进而在YOLOv3 baseline的基础上提升了1 1个百分点的mAP 那为什么解耦头结构就能够提升检测效果呢 调研 我主要在YOLOX原论文讲述Deco
  • Git创建、连接远程仓库命令

    目录 Git定义 作用 概念 配置 操作 全局配置 创建 添加到暂存盘 从暂存盘撤回 提交到版本库 从版本库切换版本库 查看记录 分支 标签 下载远程仓库 远程仓库 github 远程仓库 本地 本地推送到服务器 1 需要 2 成功 远程网
  • ggplot2入门大全(从菜鸟到高手)

    在开始ggplot2的学习之前 可以先看下我之前的一篇博客 关于快速作图 qplot 在本章你将学习 1 ggplot2中的mpg数据集 2 ggplot2图像的三个基本构成 数据 图形属性和几何对象 3 如何将变量映射到图形属性中 4 如
  • ExcelUtil对easyexcel2.X进行封装,实现一个方法完成简单的excel导入和导出。

    easyexcel basic demo ExcelUtil对easyexcel2 X进行封装 实现一个方法完成简单的excel导入和导出 使用介绍 一 背景 主流office文档操作组件性能比较 组件 功能简介 使用场景 测试环境 内存消