ToB企服应用市场:ToB评测及商务社交产业平台
标题:
iexcel-excel 读取和写入,解决 excel OOM 问题
[打印本页]
作者:
梦见你的名字
时间:
2024-5-8 11:17
标题:
iexcel-excel 读取和写入,解决 excel OOM 问题
项目简介
IExcel
用于优雅地读取和写入 excel。
避免大 excel 出现 oom,简约而不简单。
特性
一行代码搞定一切
OO 的方式操作 excel,编程更加方便优雅。
sax 模式读取,SXSS 模式写入。避免 excel 大文件 OOM。
基于注解,编程更加灵活。
设计简单,注释完整。方便大家学习改造。
可根据注解指定表头顺序
支持 excel 文件内容 bytes[] 内容获取,便于用户自定义操作。
变更日志
变更日志
v0.0.9 主要变更
Fixed
@ExcelField注解失效问题
创作缘由
实际工作和学习中,apache poi 操作 excel 过于复杂。
近期也看了一些其他的工具框架:
easypoi
easyexcel
hutool-poi
都或多或少难以满足自己的实际需要,于是就自己写了一个操作 excel 导出的工具。
实现:在阿里
easyexcel
的基础上进行封装,提升使用的简易度。
快速开始
环境要求
jdk1.8+
maven 3.x
引入 jar
使用 maven 管理。
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>iexcel</artifactId>
<version>1.0.0</version>
</dependency>
复制代码
Excel 写入
示例
// 基本属性
final String filePath = PathUtil.getAppTestResourcesPath()+"/excelHelper.xls";
List<User> models = User.buildUserList();
// 直接写入到文件
ExcelHelper.write(filePath, models);
复制代码
其中:
User.java
public class User {
private String name;
private int age;
//fluent getter/setter/toString()
}
复制代码
buildUserList()
构建对象列表方法如下:
/**
* 构建用户类表
* @return 用户列表
* @since 0.0.4
*/
public static List<User> buildUserList() {
List<User> users = new ArrayList<>();
users.add(new User().name("hello").age(20));
users.add(new User().name("excel").age(19));
return users;
}
复制代码
写入效果
excel 内容生成为:
name age
hello 20
excel 19
复制代码
Excel 读取
示例
final String filePath = PathUtil.getAppTestResourcesPath()+"/excelHelper.xls";
List<User> userList = ExcelHelper.read(filePath, User.class);
复制代码
信息
[User{name='hello', age=20}, User{name='excel', age=19}]
复制代码
SAX 读
// 待生成的 excel 文件路径
final String filePath = PathUtil.getAppTestResourcesPath()+"/excelReadBySax.xls";
AbstractSaxReadHandler<User> saxReadHandler = new AbstractSaxReadHandler<User>() {
@Override
protected void doHandle(int i, List<Object> list, User user) {
System.out.println(user);
}
};
ExcelHelper.readBySax(User.class, saxReadHandler, filePath);
复制代码
文档
01-ExcelBs 引导类使用说明
02-ExcelField 注解指定字段属性
03-ExcelField#order 指定列顺序
04-ExcelBs#bytes 获取文件字节信息
Bug & Issues
欢迎提出宝贵意见:
Bug & Issues
本文由博客一文多发平台
OpenWrite
发布!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4