Skip to content
/ iexcel Public

📚IExcel is a java tool for create and read excel easy.(excel 读取和写入,解决 excel OOM 问题。)

License

Notifications You must be signed in to change notification settings

houbb/iexcel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b37f444 · Jul 27, 2024

History

69 Commits
May 24, 2020
Sep 23, 2023
Oct 31, 2018
Nov 14, 2018
May 24, 2020
Sep 23, 2023
Oct 31, 2018
Jul 27, 2024
Nov 25, 2018
Nov 25, 2018
Sep 23, 2023
Sep 23, 2023
Nov 25, 2018
Nov 25, 2018

Repository files navigation

项目简介

IExcel 用于优雅地读取和写入 excel。

避免大 excel 出现 oom,简约而不简单。

Build Status Maven Central Open Source Love

特性

  • 一行代码搞定一切

  • 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);

拓展阅读

Excel Export 踩坑注意点+导出方案设计

基于 hutool 的 EXCEL 优化实现

iexcel-excel 大文件读取和写入,解决 excel OOM 问题-01-入门介绍

iexcel-excel 大文件读取和写入-02-Excel 引导类简介

iexcel-excel 大文件读取和写入-03-@ExcelField 注解介绍

iexcel-excel 大文件读取和写入-04-order 指定列顺序

iexcel-excel 大文件读取和写入-05-file bytes 获取文件字节信息

Aapche POI java excel 操作工具包入门

Bug & Issues

欢迎提出宝贵意见:Bug & Issues

后期 Road-Map

  • 是否有表头的指定

  • 添加类型转换支持

  • 对于枚举值的注解支持

  • 对于样式的注解支持

  • 多 sheet 支持

About

📚IExcel is a java tool for create and read excel easy.(excel 读取和写入,解决 excel OOM 问题。)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published