项目简介
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);
复制代码 其中:
- public class User {
- private String name;
- private int age;
- //fluent getter/setter/toString()
- }
复制代码 构建对象列表方法如下:- /**
- * 构建用户类表
- * @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 内容生成为: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 发布!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |