{"id":18600595,"url":"https://github.com/houbb/iexcel","last_synced_at":"2025-09-14T07:05:28.033Z","repository":{"id":57720085,"uuid":"157553288","full_name":"houbb/iexcel","owner":"houbb","description":"📚IExcel is a java tool for create and read excel easy.(excel 读取和写入，解决 excel OOM 问题。)","archived":false,"fork":false,"pushed_at":"2024-07-27T18:22:11.000Z","size":222,"stargazers_count":56,"open_issues_count":5,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-01-21T20:06:58.401Z","etag":null,"topics":["easyexcel","easypoi","excel","excel-oom","hutool","office","poi","poi-tool","wps","wps-office"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/houbb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-14T13:31:35.000Z","updated_at":"2024-10-22T00:46:01.000Z","dependencies_parsed_at":"2022-09-26T21:41:14.997Z","dependency_job_id":"f9b788f2-d791-41df-ab65-f96ba7f134cb","html_url":"https://github.com/houbb/iexcel","commit_stats":{"total_commits":64,"total_committers":3,"mean_commits":"21.333333333333332","dds":0.0625,"last_synced_commit":"40868d205d1fcc376acfb37c5b6a58b8b66ae0b4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houbb%2Fiexcel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houbb%2Fiexcel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houbb%2Fiexcel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houbb%2Fiexcel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/houbb","download_url":"https://codeload.github.com/houbb/iexcel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236229977,"owners_count":19115713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["easyexcel","easypoi","excel","excel-oom","hutool","office","poi","poi-tool","wps","wps-office"],"created_at":"2024-11-07T02:04:35.106Z","updated_at":"2025-01-29T18:06:04.281Z","avatar_url":"https://github.com/houbb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 项目简介\n\n[IExcel](https://github.com/houbb/iexcel) 用于优雅地读取和写入 excel。\n\n避免大 excel 出现 oom，简约而不简单。\n\n[![Build Status](https://travis-ci.com/houbb/iexcel.svg?branch=master)](https://travis-ci.com/houbb/iexcel)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.houbb/iexcel/badge.svg)](http://mvnrepository.com/artifact/com.github.houbb/iexcel)\n[![](https://img.shields.io/badge/license-Apache2-FF0080.svg)](https://github.com/houbb/iexcel/blob/master/LICENSE.txt)\n[![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/houbb/iexcel)\n\n# 特性\n\n- 一行代码搞定一切\n\n- OO 的方式操作 excel，编程更加方便优雅。\n\n- sax 模式读取，SXSS 模式写入。避免 excel 大文件 OOM。\n\n- 基于注解，编程更加灵活。\n\n- 设计简单，注释完整。方便大家学习改造。\n\n- 可根据注解指定表头顺序\n\n- 支持 excel 文件内容 bytes[] 内容获取，便于用户自定义操作。\n\n## 变更日志\n\n\u003e [变更日志](CHANGELOG.md)\n\n## v0.0.9 主要变更\n\nFixed [@ExcelField注解失效问题](https://github.com/houbb/iexcel/issues/7)\n\n# 创作缘由\n\n实际工作和学习中，apache poi 操作 excel 过于复杂。\n\n近期也看了一些其他的工具框架：\n\n- easypoi\n\n- easyexcel\n\n- hutool-poi\n\n都或多或少难以满足自己的实际需要，于是就自己写了一个操作 excel 导出的工具。\n\n实现：在阿里 [easyexcel](https://github.com/alibaba/easyexcel) 的基础上进行封装，提升使用的简易度。\n\n# 快速开始\n\n## 环境要求\n\njdk1.8+\n\nmaven 3.x\n\n## 引入 jar\n\n使用 maven 管理。\n\n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003ecom.github.houbb\u003c/groupId\u003e\n     \u003cartifactId\u003eiexcel\u003c/artifactId\u003e\n     \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Excel 写入\n\n### 示例\n\n```java\n// 基本属性\nfinal String filePath = PathUtil.getAppTestResourcesPath()+\"/excelHelper.xls\";\nList\u003cUser\u003e models = User.buildUserList();\n\n// 直接写入到文件\nExcelHelper.write(filePath, models);\n```\n\n其中：\n\n- User.java\n\n```java\npublic class User {\n\n    private String name;\n\n    private int age;\n\n    //fluent getter/setter/toString()\n}\n```\n\n- buildUserList()\n\n构建对象列表方法如下：\n\n```java\n/**\n * 构建用户类表\n * @return 用户列表\n * @since 0.0.4\n */\npublic static List\u003cUser\u003e buildUserList() {\n    List\u003cUser\u003e users = new ArrayList\u003c\u003e();\n    users.add(new User().name(\"hello\").age(20));\n    users.add(new User().name(\"excel\").age(19));\n    return users;\n}\n```\n\n### 写入效果\n\nexcel 内容生成为：\n\n```\nname\tage\nhello\t20\nexcel\t19\n```\n\n## Excel 读取\n\n### 示例\n\n```java\nfinal String filePath = PathUtil.getAppTestResourcesPath()+\"/excelHelper.xls\";\nList\u003cUser\u003e userList = ExcelHelper.read(filePath, User.class);\n```\n\n### 信息\n\n```\n[User{name='hello', age=20}, User{name='excel', age=19}]\n```\n\n## SAX 读\n\n```java\n// 待生成的 excel 文件路径\nfinal String filePath = PathUtil.getAppTestResourcesPath()+\"/excelReadBySax.xls\";\n\n        AbstractSaxReadHandler\u003cUser\u003e saxReadHandler = new AbstractSaxReadHandler\u003cUser\u003e() {\n            @Override\n            protected void doHandle(int i, List\u003cObject\u003e list, User user) {\n                System.out.println(user);\n            }\n        };\n\nExcelHelper.readBySax(User.class, saxReadHandler, filePath);\n```\n\n# 拓展阅读\n\n[Excel Export 踩坑注意点+导出方案设计](https://houbb.github.io/2016/07/19/java-tool-excel-export-design-01-overview)\n\n[基于 hutool 的 EXCEL 优化实现](https://houbb.github.io/2016/07/19/java-tool-excel-hutool-opt-01-intro)\n\n[iexcel-excel 大文件读取和写入，解决 excel OOM 问题-01-入门介绍](https://houbb.github.io/2016/07/19/java-tool-excel-iexcel-01-intro)\n\n[iexcel-excel 大文件读取和写入-02-Excel 引导类简介](https://houbb.github.io/2016/07/19/java-tool-excel-iexcel-02-excelbs)\n\n[iexcel-excel 大文件读取和写入-03-@ExcelField 注解介绍](https://houbb.github.io/2016/07/19/java-tool-excel-iexcel-03-excelField)\n\n[iexcel-excel 大文件读取和写入-04-order 指定列顺序](https://houbb.github.io/2016/07/19/java-tool-excel-iexcel-04-order)\n\n[iexcel-excel 大文件读取和写入-05-file bytes 获取文件字节信息](https://houbb.github.io/2016/07/19/java-tool-excel-iexcel-05-file-bytes)\n\n[Aapche POI java excel 操作工具包入门](https://houbb.github.io/2016/07/19/java-tool-excel-poi-01-intro)\n\n# Bug \u0026 Issues\n\n欢迎提出宝贵意见：[Bug \u0026 Issues](https://github.com/houbb/iexcel/issues)\n\n# 后期 Road-Map\n\n- [ ] 是否有表头的指定\n\n- [ ] 添加类型转换支持\n\n- [ ] 对于枚举值的注解支持\n\n- [ ] 对于样式的注解支持\n\n- [ ] 多 sheet 支持\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoubb%2Fiexcel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoubb%2Fiexcel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoubb%2Fiexcel/lists"}