easyexcel和poi对比_POI 和 EasyExcel

2023-11-18

POI 和 easyExcel 讲解

转自狂神老师,仅作为个人笔记使用

一、POI

常用进程

1、将用户信息导出为excel表格(导出数据....)

2、将Excel表中的信息录入到网站数据库(习题上传....)

开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中!

操作Excel目前比较流行的就是 Apache POI 和 阿里巴巴的 easyExcel !

Apache POI

easyExcel

EasyExcel 是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。

EasyExcel 能大大减少占用内存的主要原因是在解析 Excel 时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。

下图是 EasyExcel 和 POI 在解析Excel时的对比图。

1、POI-Excel写

创建项目

1、建立一个空项目 Bilibili-狂神说java,创建普通Maven的Moudle kuang-poi

2、引入pom依赖

org.apache.poi

poi

3.9

org.apache.poi

poi-ooxml

3.9

joda-time

joda-time

2.10.1

junit

junit

4.12

03 | 07 版本的写,就是对象不同,方法一样的!

需要注意:2003 版本和 2007 版本存在兼容性的问题!03最多只有 65535 行!

1、工作簿:

2、工作表:

3、行:

4、列:

03版本:

@Test

public void testWrite03() throws Exception {

// 1、创建一个工作簿

Workbook workbook = new HSSFWorkbook();

// 2、创建一个工作表

Sheet sheet = workbook.createSheet("狂神观众统计表");

// 3、创建一个行 (1,1)

Row row1 = sheet.createRow(0);

// 4、创建一个单元格

Cell cell11 = row1.createCell(0);

cell11.setCellValue("今日新增观众");

// (1,2)

Cell cell12 = row1.createCell(1);

cell12.setCellValue(666);

// 第二行 (2,1)

Row row2 = sheet.createRow(1);

Cell cell21 = row2.createCell(0);

cell21.setCellValue("统计时间");

// (2,2)

Cell cell22 = row2.createCell(1);

String time = new DateTime().toString("yyyy-MM-dd HH:mm:ss");

cell22.setCellValue(time);

// 生成一张表(IO 流) 03 版本就是使用 xls结尾!

FileOutputStream fileOutputStream = new FileOutputStream(PATH + "狂神观众统计表03.xls");

// 输出

workbook.write(fileOutputStream);

// 关闭流

fileOutputStream.close();

System.out.println("狂神观众统计表03 生成完毕!");

}

07版本:

@Test

public void testWrite07() throws Exception {

// 1、创建一个工作簿 07

Workbook workbook = new XSSFWorkbook();

// 2、创建一个工作表

Sheet sheet = workbook.createSheet("狂神观众统计表");

// 3、创建一个行 (1,1)

Row row1 = sheet.createRow(0);

// 4、创建一个单元格

Cell cell11 = row1.createCell(0);

cell11.setCellValue("今日新增观众");

// (1,2)

Cell cell12 = row1.createCell(1);

cell12.setCellValue(666);

// 第二行 (2,1)

Row row2 = sheet.createRow(1);

Cell cell21 = row2.createCell(0);

cell21.setCellValue("统计时间");

// (2,2)

Cell cell22 = row2.createCell(1);

String time = new DateTime().toString("yyyy-MM-dd HH:mm:ss");

cell22.setCellValue(time);

// 生成一张表(IO 流) 03 版本就是使用 xlsx结尾!

FileOutputStream fi

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

easyexcel和poi对比_POI 和 EasyExcel 的相关文章

  • 输入两个正整数,输出它们的最大公约数和最小公倍数

    include
  • python 列表元组字典集合相关知识

    python 数据类型 列表 可变数据类型 列表的创建 或者 list 列表的索引 由下标0开始 最后一个为 1 列表的切片 list start end step 列表的计算 支持 等方法 列表的方法 格式 列表名称 方法名字 index
  • 如何结束8080端口的进程

    1 找到8080端口进程 win r 输入cmd打开终端窗口 输入netstat aon findstr 8080 找出所有的进程 2 结束对应的进程 taskkill F PID 53408
  • tinymce 去掉编辑器换行默认增加的p标签

    问题 tinymce 编辑器里面使用回车换行后会自动添加p标签 解决方法 增加forced root block这个属性 替换为空后 换行就没有p标签了 格式 forced root block 删除在tinymce中自动添加的p标签 如下
  • HashMap中为何X % length = X & (length - 1)(求余%和与运算&转换问题)

    目录 一 引出问题 二 结论 三 分析过程 总结 一 引出问题 在前面讲解 HashMap 的源码实现时 有如下几点 初始容量为 1 lt lt 4 也就是24 16 负载因子是0 75 当存入HashMap的元素占比超过整个容量的75 时
  • Pod控制器(一)ReplicaSet

    目录 1 关于Pod控制器 1 1Pod控制器概述 1 2 控制器与Pod对象 1 3 ReplicaSet控制器 1 3 1 ReplicaSet概述 1 3 2 创建ReplicaSet 1 3 3 ReplicaSet管控下的Pod对
  • ajax同步异步的具体事例,Ajax同步和异步(示例代码)

    Ajax在默认情况下是异步执行的 即其属性 async boolean 是否异步 同步和异步的区别 同步 Client 向 Server请求数据 直到该部分数据返回时 Client在请求返回值后的相应程序队列才会按顺序执行 在此期间 Cli
  • 微信小程序 车牌号输入组件

    概述 一个小组件 用于方便用户输入车牌号码 详细 概述 有时候我们开发过程中会遇到需要用户输入车牌号的情况 让客户通过自带键盘输入 体验不好且容易出错 例如车牌号是不能输入O和I的 因此需要有一个自定义的键盘 让客户输入正确的车牌号 详细
  • 基于MyApps低代码平台生成的CRM实现客户的高效管理

    随着市场的发展 客户开始变得越来越重要 因此很多公司开始追求客户数量用尽浑身解数 可盲目发展 一股脑的想要扩大客户数量 也导致企业无法对客户进行有效的管理 不可避免地出现以下问题 1 没有对新客户做好分析 也疏于老客户的管理 导致客户流失的
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(十七)深度测试

    Vries的教程是我看过的最好的可编程管线OpenGL教程 没有之一 其原地址如下 https learnopengl cn github io 04 20Advanced 20OpenGL 01 20Depth 20testing 关于深
  • 双目标定(二)单目标定基本原理

    主体思路 先处理纯二维平面的畸变问题 此处略过 矫正图片后 再来求解相机内外参数 基本思路是求得每个标定板对应的单应矩阵 再联合优化所有标定板数据得到相机内参矩阵 再得到每个标定板对应的外参 1 标定板平面到像平面的单应矩阵H 则对于每个棋
  • 短视频制作难度大吗?怎么剪辑短视频?

    随着抖音 快手等视频分享软件的兴起 很多人已经开始尝试制作短视频分享 那么 对于视频制作新手来说 短视频的制作难度大吗 其实 只要选对了视频制作软件 视频制作将会变得相当简单 在众多视频剪辑软件中 会声会影因其丰富的视频制作功能 直观的操作
  • python识别图像中的文字

    我们想识别图像中对我们有用的评论 所以需要卡一个阈值来仅仅获得对我们有用的信息 import easyocr 创建reader对象 import json reader easyocr Reader en result list reade
  • git --amend用法

    git commit amend 这个命令是让我们可以对上一次提交有修改 可以修改文件也可以修改说明 不产生新的commit 在我们有一次提交 然后提交之后评审发现代码有问题 我们没有进行和入 需要重新修改 但是我们又不能产生新的commi
  • IDEA中自动生成类图方法

    1 打开设置 File Setting或windows下按Ctrl Alt S 2 找到 Tools Diagrams 如下图 3 在Java Class Diagrams 中选中需要生成类图的对象 4 选中需要生成类图的对象 然后按Ctr
  • 将形如 0xAABBCC拆分成形如 三个数0xAA,0xBB,0xCC 及逆过程

    将形如 0xAABBCC拆分成形如 三个数0xAA 0xBB 0xCC pre class java private static int Int2Arr int a span span int s new int 3 span span
  • Java Post接口调用

    1 通过Cookies properties管理cookies cookies key1 AspNetCore Session cookies key2 TS01d2d863 cookies key3 ssoinfo cookies key
  • Kalman Filtering – A Practical Implementation Guide (wi_拔剑-浆糊的传说_新浪博客

    Kalman Filtering A Practical Implementation Guide with code 一个开源的C C 库 http kalman sourceforge net index php 另外一个基于末班类的开
  • Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成

随机推荐

  • java计时器_Java 计时器

    1 Timer and TimerTask Timer是jdk中提供的一个定时器工具 使用的时候会在主线程之外起一个单独的线程执行指定的计划任务 可以指定执行一次或者反复执行多次 TimerTask是一个实现了Runnable接口的抽象类
  • 【Python 3.7】访客名单:编写一个 while 循环,提示用户输入其名字。用户输入其名字后, 在屏幕上打印一句问候语,并将一条访问记录添加到文件 guest_book.txt 中。

    Python 3 7 访客名单 编写一个 while 循环 提示用户输入其名字 用户输入其名字后 在屏幕上打印一句问候语 并将一条访问记录添加到文件 guest book txt 中 确保这个文件中的每条记录都独占一行 程序为 filena
  • Python实现GWO智能灰狼优化算法优化循环神经网络分类模型(LSTM分类算法)项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 视频讲解 如需数据 代码 文档 视频讲解可以直接到文章最后获取 1 项目背景 灰狼优化算法 GWO 由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化
  • HLS图像处理系列——肤色检测

    本博文采用Xilinx HLS 2014 4工具 实现一个肤色检测的模块 其中 本文重点是构建HLS图像处理函数 新建HLS工程的步骤 本博文不再详述 本工程新建之后 只添加了五个文件 如下图所示 其中 top cpp中的主函数最终会综合生
  • 全球公有云一哥AWS十年宕机故障大全

    任何一个公有云供应商 在发展的历史长河中 都遭遇了这样那样的宕机 故障 或因人为因素 或因雷电太凶 或因机房停电 或因光缆被挖 或因代码错输 这些问题的出现与解决 正好也是公有云服务不断优化与提升的过程 不过 作为全球公有云的一哥 从可以查
  • Windows10下安装MXNet-走过的那些坑

    一 一开始看到各种安装方法 简单的 用pip安装mxnet的python CPU版本和GPU版本 windows还是linux python2还是python3 安装命令都一样 用pip安装mxnet的python CPU版本 pip in
  • 数据库CPU满载如何处理

    当数据库CPU满载时 我们首先要做的是让CPU降下来 优先保证系统的可用性 什么情况会导致数据库CPU飙升呢 QPS过高 高并发 也就是数据库承载的流量过大 慢SQL 少量或大量慢SQL占用CPU资源 拖垮了数据库 这类慢sql通常表现为
  • 第3章 ChatGPT简介

    3 1ChatGPT厚积薄发 最近 工智能公司OpenAI推出的ChatGPT风靡全球 其上线仅两个月 注册用户破亿 ChatGPT包含丰富的知识 不仅能更好地理解人类的问题和指令 流畅进行多轮对话 还在越来越多领域显示出解决各种通用问题和
  • DNS server列表整理

    收集DNS服务器的意义不在于能越过GFW 而是在当前DNS污染越发严整的环境下 能够找到一个比较好的DNS server以便提供优质的github和onedrive 或microsoft相关软件 访问体验 这一篇会持续更新 并且根据日常体验
  • 详解通往Web3的护照:去中心化身份DID

    介绍 互联网的创建没有为人们提供本地身份验证层 由此 数字身份问题被纳入网站和应用程序范畴 这种方法可能适用于互联网的早期阶段 但现在线上有数十亿人 但缺点正变得越来越明显 用户名和密码仍占主导地位 尽管这被反复证明是不安全的模型 普通人必
  • 安卓各个平台适配

    标题安卓各个平台适配 一 安卓6 0适配 1 targetSdkVersion Android 6 0 API 级别 23 2 相关API 3 简单的例子 4 封装库 二 安卓7 0适配 1 使用FileProvider 1 manifes
  • httpip工具实践

    应用场景 jenkins在发布完成后需要请求一个接口验证数据 如果是正确的返回相应数据 采用传统的curl没有色差输出 不方便阅读 使用http命令结果会有色彩输出 方便阅读 安装方法 官网地址https httpie org CentOS
  • Docker在云平台上的最佳实践:基于容器技术的DevOps探索

    12月9日 在云栖计算之旅线下沙龙上 阿里云容器服务团队的高级研发工程师秦妤嘉分享了 基于容器技术的DevOps探索 首先介绍了DevOps和CD 接着分析了Docker如何打破传统CD壁垒 最后讲解了怎样从零开始搭建一个持续交付系统 视频
  • 华为OD机试真题- 对称字符串【2023Q2】【JAVA、Python、C++】

    题目描述 对称就是最大的美学 现有一道关于对称字符串的美学 已知 第 1 个字符串 R 第 2 个字符串 BR 第 3 个字符串 RBBR 第 4 个字符串 BRRBRBBR 第 5 个字符串 RBBRBRRBBRRBRBBR 相信你已经发
  • 《高效能程序员的修炼》之译者序

    出版社的冀康一开始来找我谈翻译这本书的时候 我的第一反应是 这兄弟真是不知道我现在有多忙 我每天要处理200多封邮件 在资源有限的情况下经常要同时带6 7个项目 而且每个项目的交付计划都很紧 压力很大 每天起码工作12个小时 有时候还要熬夜
  • python连续输入多行_python-遍历Pandas DataFrame并插入行的最快方法

    我正在构建一个工具 以帮助您每周自动执行来自多个实验室设置的数据审查 每天都会生成一个制表符分隔的文本文件 每行代表每2秒获取的数据 因此共有43200行和许多列 每个文件为75mb 我正在使用pandas readcsv加载七个文本文件
  • Python基础知识笔试

    Python基础知识笔试 单选题 2 5分 20题 1 下列哪个表达式在Python中是非法的 B A x y z 1 B x y z 1 C x y y x D x y 2 python my py v1 v2 命令运行脚本 通过 fro
  • JavaScript 基础

    JavaScript 基础 JavaScript 是一门编程语言 可为网站添加交互功能 例如 游戏 动态样式 动画以及在按下按钮或收到表单数据时做出的响应等 本文介绍了 JavaScript 的精彩之处和主要用途 JavaScript 到底
  • Python中的列表和元组

    Python中的列表和元组 1 列表和元组 2 Python 中的列表和元组都支持负数索引 3 列表和元组都支持切片操作 4 列表和元组都可以随意嵌套 5 两者也可以通过 list 和 tuple 函数相互转换 6 列表和元组常用的内置函数
  • easyexcel和poi对比_POI 和 EasyExcel

    POI 和 easyExcel 讲解 转自狂神老师 仅作为个人笔记使用 一 POI 常用进程 1 将用户信息导出为excel表格 导出数据 2 将Excel表中的信息录入到网站数据库 习题上传 开发中经常会设计到excel的处理 如导出Ex