同步操作将从 悟耘信息/easypoi 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法
官网: http://www.wupaas.com/
邮箱: xue315998@qq.com
QQ群: 1群 364192721(满) 2 群116844390
开发者:魔幻之翼 xf.key@163.com
Spring Boot 支持 https://gitee.com/lemur/easypoi-spring-boot-starter
开发指南
http://doc.wupaas.com/docs/easypoi/easypoi-1c0u4mo8p4ro8
下一步计划
按登记顺序展示,如果你正在使用EasyPoi欢迎在 https://gitee.com/lemur/easypoi/issues/IFDX7 登记。仅作为开源参考,不作其它用途
版本介绍
基础示例
测试项目: http://git.oschina.net/lemur/easypoi-test
1.设计精巧,使用简单
2.接口丰富,扩展简单
3.默认值多,write less do more
4.AbstractView 支持,web导出可以简单明了
- 导出
1.正规excel导出 (格式简单,数据量可以,5W以内吧)
注解方式: ExcelExportUtil.exportExcel(ExportParams entity, Class<?> pojoClass,Collection<?> dataSet)
2.不定多少列,但是格式依然简单数据库不大
自定义方式: ExcelExportUtil.exportExcel(ExportParams entity, List<ExcelExportEntity> entityList,Collection<?> dataSet)
3.数据量大超过5W,还在100W以内
注解方式 ExcelExportUtil.exportBigExcel(ExportParams entity, Class<?> pojoClass,IExcelExportServer server, Object queryParams)
自定义方式: ExcelExportUtil.exportBigExcel(ExportParams entity, List<ExcelExportEntity> excelParams,IExcelExportServer server, Object queryParams)
4.样式复杂,数据量尽量别大
模板导出 ExcelExportUtil.exportExcel(TemplateExportParams params, Map<String, Object> map)
5.一次导出多个风格不一致的sheet
模板导出 ExcelExportUtil.exportExcel(Map<Integer, Map<String, Object>> map,TemplateExportParams params)
6.一个模板但是要导出非常多份
模板导出 ExcelExportUtil.exportExcelClone(Map<Integer, List<Map<String, Object>>> map,TemplateExportParams params)
7.模板无法满足你的自定义,试试html
自己构造html,然后我给你转成excel ExcelXorHtmlUtil.htmlToExcel(String html, ExcelType type)
8.数据量过百万级了.放弃excel吧,csv导出
注解方式: CsvExportUtil.exportCsv(CsvExportParams params, Class<?> pojoClass, OutputStream outputStream)
自定义方式: CsvExportUtil.exportCsv(CsvExportParams params, List<ExcelExportEntity> entityList, OutputStream outputStream)
9.word导出
模板导出: WordExportUtil.exportWord07(String url, Map<String, Object> map)
10.PDF导出
模板导出: TODO
- 导入
如果想提高性能 ImportParams 的concurrentTask 可以帮助并发导入,仅单行,最小1000
excel有单个的那种特殊读取,readSingleCell 参数可以支持
1. 不需要检验,数据量不大(5W以内)
注解或者MAP: ExcelImportUtil.importExcel(File file, Class<?> pojoClass, ImportParams params)
2. 需要导入,数据量不大
注解或者MAP: ExcelImportUtil.importExcelMore(InputStream inputstream, Class<?> pojoClass, ImportParams params)
3. 数据量大了,或者你有特别多的导入操作,内存比较少,仅支持单行
SAX方式 ExcelImportUtil.importExcelBySax(InputStream inputstream, Class<?> pojoClass, ImportParams params, IReadHandler handler)
4. 数据量超过EXCEL限制,CSV读取
小数据量: CsvImportUtil.importCsv(InputStream inputstream, Class<?> pojoClass,CsvImportParams params)
大数据量: CsvImportUtil.importCsv(InputStream inputstream, Class<?> pojoClass,CsvImportParams params, IReadHandler readHandler)
1.导出时间XLS比XLSX快2-3倍
2.导出大小XLS是XLSX的2-3倍或者更多
3.导出需要综合网速和本地速度做考虑^~^
1.easypoi 父包--作用大家都懂得
2.easypoi-annotation 基础注解包,作用与实体对象上,拆分后方便maven多工程的依赖管理
3.easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能
4.easypoi-web 耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能
5.sax 导入使用xercesImpl这个包(这个包可能造成奇怪的问题哈),word导出使用poi-scratchpad,都作为可选包了
maven库应该都可以了 SNAPSHOT 版本-很少发布 https://oss.sonatype.org/content/groups/public/
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.3.0</version>
</dependency>
word和sax读取的时候才使用,就不是必须的了,请手动引用,JSR303的校验也是可选的,PDF的jar也是可选的
<!-- sax 读取时候用到的 -->
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>${xerces.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>${poi.version}</version>
<optional>true</optional>
</dependency>
<!-- Word 需要使用 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.3</version>
<optional>true</optional>
</dependency>
<!-- 校验,下面两个实现 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.3.Final</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.bval</groupId>
<artifactId>org.apache.bval.bundle</artifactId>
<version>1.1.0</version>
</dependency>
<!-- PDF -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.6</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
<optional>true</optional>
</dependency>
包 | 类 | 方法 | 行 |
---|---|---|---|
cn | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi | 0% (0/1) | 0% (0/1) | 0% (0/3) |
cn.afterturn.easypoi.cache | 100% (6/6) | 83% (10/12) | 60% (40/66) |
cn.afterturn.easypoi.cache.manager | 100% (3/3) | 62% (5/8) | 54% (29/53) |
cn.afterturn.easypoi.configuration | 0% (0/2) | 0% (0/1) | 0% (0/5) |
cn.afterturn.easypoi.entity | 100% (1/1) | 83% (15/18) | 66% (26/39) |
cn.afterturn.easypoi.entity.vo | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.excel | 100% (3/3) | 73% (19/26) | 59% (44/74) |
cn.afterturn.easypoi.excel.annotation | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.excel.entity | 83% (5/6) | 66% (85/127) | 63% (185/290) |
cn.afterturn.easypoi.excel.entity.enmus | 100% (3/3) | 88% (8/9) | 92% (13/14) |
cn.afterturn.easypoi.excel.entity.params | 100% (6/6) | 84% (94/111) | 75% (160/211) |
cn.afterturn.easypoi.excel.entity.result | 100% (2/2) | 76% (16/21) | 65% (26/40) |
cn.afterturn.easypoi.excel.entity.sax | 100% (1/1) | 33% (2/6) | 45% (5/11) |
cn.afterturn.easypoi.excel.entity.vo | 100% (1/1) | 100% (1/1) | 100% (3/3) |
cn.afterturn.easypoi.excel.export | 100% (2/2) | 94% (17/18) | 84% (202/238) |
cn.afterturn.easypoi.excel.export.base | 100% (2/2) | 97% (33/34) | 88% (353/399) |
cn.afterturn.easypoi.excel.export.styler | 100% (4/4) | 86% (19/22) | 97% (122/125) |
cn.afterturn.easypoi.excel.export.template | 100% (3/3) | 95% (43/45) | 92% (422/457) |
cn.afterturn.easypoi.excel.graph | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.excel.graph.builder | 0% (0/1) | 0% (0/8) | 0% (0/92) |
cn.afterturn.easypoi.excel.graph.constant | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.excel.graph.entity | 0% (0/3) | 0% (0/26) | 0% (0/49) |
cn.afterturn.easypoi.excel.html | 100% (2/2) | 92% (24/26) | 84% (242/287) |
cn.afterturn.easypoi.excel.html.css | 100% (2/2) | 100% (10/10) | 94% (166/175) |
cn.afterturn.easypoi.excel.html.css.impl | 100% (6/6) | 60% (9/15) | 74% (111/149) |
cn.afterturn.easypoi.excel.html.entity | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.excel.html.entity.style | 100% (3/3) | 100% (53/53) | 100% (87/87) |
cn.afterturn.easypoi.excel.html.helper | 80% (4/5) | 77% (24/31) | 67% (154/228) |
cn.afterturn.easypoi.excel.imports | 100% (2/2) | 92% (26/28) | 79% (361/454) |
cn.afterturn.easypoi.excel.imports.base | 100% (1/1) | 100% (9/9) | 89% (102/114) |
cn.afterturn.easypoi.excel.imports.sax | 100% (2/2) | 100% (8/8) | 70% (56/80) |
cn.afterturn.easypoi.excel.imports.sax.parse | 100% (1/1) | 77% (7/9) | 58% (44/75) |
cn.afterturn.easypoi.exception | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.exception.excel | 50% (1/2) | 20% (3/15) | 18% (6/32) |
cn.afterturn.easypoi.exception.excel.enums | 50% (1/2) | 44% (4/9) | 40% (9/22) |
cn.afterturn.easypoi.exception.word | 0% (0/1) | 0% (0/3) | 0% (0/6) |
cn.afterturn.easypoi.exception.word.enmus | 0% (0/1) | 0% (0/4) | 0% (0/10) |
cn.afterturn.easypoi.handler | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.handler.impl | 100% (1/1) | 33% (2/6) | 44% (4/9) |
cn.afterturn.easypoi.handler.inter | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.hanlder | 0% (0/1) | 0% (0/1) | 0% (0/17) |
cn.afterturn.easypoi.pdf | 100% (1/1) | 50% (1/2) | 33% (1/3) |
cn.afterturn.easypoi.pdf.entity | 100% (1/1) | 52% (10/19) | 47% (17/36) |
cn.afterturn.easypoi.pdf.export | 100% (1/1) | 100% (14/14) | 85% (131/153) |
cn.afterturn.easypoi.pdf.styler | 100% (1/1) | 100% (4/4) | 56% (9/16) |
cn.afterturn.easypoi.test | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.test.en | 100% (3/3) | 93% (15/16) | 93% (31/33) |
cn.afterturn.easypoi.test.entity | 91% (11/12) | 50% (62/122) | 57% (117/202) |
cn.afterturn.easypoi.test.entity.check | 100% (2/2) | 50% (8/16) | 69% (18/26) |
cn.afterturn.easypoi.test.entity.groupname | 75% (3/4) | 46% (25/54) | 52% (48/92) |
cn.afterturn.easypoi.test.entity.img | 100% (1/1) | 100% (8/8) | 100% (16/16) |
cn.afterturn.easypoi.test.entity.samename | 100% (1/1) | 100% (6/6) | 100% (10/10) |
cn.afterturn.easypoi.test.entity.statistics | 100% (1/1) | 100% (12/12) | 100% (19/19) |
cn.afterturn.easypoi.test.entity.temp | 80% (4/5) | 94% (32/34) | 38% (52/134) |
cn.afterturn.easypoi.test.web | 100% (0/0) | 100% (0/0) | 100% (0/0) |
cn.afterturn.easypoi.test.web.cfg | 0% (0/1) | 0% (0/1) | 0% (0/4) |
cn.afterturn.easypoi.tohtml | 0% (0/1) | 0% (0/4) | 0% (0/13) |
cn.afterturn.easypoi.util | 100% (11/11) | 85% (84/98) | 73% (668/908) |
cn.afterturn.easypoi.view | 0% (0/13) | 0% (0/27) | 0% (0/376) |
cn.afterturn.easypoi.word | 100% (1/1) | 33% (1/3) | 20% (1/5) |
cn.afterturn.easypoi.word.entity | 100% (2/2) | 44% (4/9) | 45% (27/60) |
cn.afterturn.easypoi.word.entity.params | 50% (1/2) | 22% (5/22) | 14% (8/56) |
cn.afterturn.easypoi.word.parse | 100% (1/1) | 91% (11/12) | 94% (97/103) |
cn.afterturn.easypoi.word.parse.excel | 100% (2/2) | 90% (10/11) | 70% (95/135) |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。