Excel 导入导出组件 Excel-Boot

Excel 导入导出组件 Excel-Boot

Artistic-2.0
Java
跨平台
2019-01-20
ningwei0

Excel-Boot是一款Excel导入导出解决方案组成的轻量级开源组件。

Github地址:https://github.com/programmeres/excel-boot

码云地址:https://gitee.com/nw1992/easy-poi

如果喜欢或愿意使用, 请star本项目或者点击donate图标捐赠我们

如果是企业使用, 为了产品推广, 请通过评论、Issue、PullRequest README的企业列表告诉我们企业名称

有任何问题可以通过issue或者评论告知我们, 尽力第一时间解决您的问题

使用企业列表:

功能简介

  1. 浏览器导出Excel文件(支持单/多sheet)

  2. 浏览器导出Excel模板文件

  3. 指定路径生成Excel文件(支持单/多sheet)

  4. 返回Excel文件(支持单/多sheet)的OutputStream, 一般用于将Excel文件上传到远程, 例如FTP

  5. 导入Excel文件(支持单/多sheet)

功能强大

1.解决导出大量数据造成的内存溢出问题(支持分页查询数据库、采用poi官方推荐api(SXSSFWorkbook), 实现指定行数刷新到磁盘)

2.解决导入大量数据造成的内存溢出问题(支持分页插入数据库、采用poi官方推荐api(XSSF and SAX),采用SAX模式一行行读取到内存当中去)

3.解决含有占位符的空假行造成的读空值问题

4.解决Long类型或者BigDecimal的精度不准问题

组件特色

1.导入可以自定义解析成功或失败的处理逻辑

2.导出支持分页查询、全量查询, 自定义每条数据的处理逻辑

3.内置缓存, 3万条11列数据, 排除查询数据所用时间, 第一次导出2.2s左右、第二次导出在1.4s左右;第一次导入3.5s左右、第二次导入2.5s左右

4.注解操作, 轻量且便捷

5.内置常用正则表达式类RegexConst(身份证号、手机号、金额、邮件)

6.可配置是否适配单元格宽度, 默认开启(单元格内容超过20个汉字不再增加宽度, 3万条11列数据, 耗时50ms左右, 用时与数据量成正比)

7.假如出现异常,Sheet、行、列位置也都一并打印

8.注解中的用户自定义字符串信息以及Excel信息已全部trim,不用担心存在前后空格的风险

9.Excel样式简洁、大方、美观

10.导出的单条数据假如全部属性都为null或0或0.0或0.00或空字符串者null字符串,自动忽略,此特性也可让用户自定义忽略规则

11.除了直接返回OutputStream的方法以外的导出方法, 正常或异常情况都会自动关闭OutputStrem、Workbook流

组件需知

导入&导出

1.导入和导出只支持尾缀为xlsx的Excel文件

2.标注注解的属性顺序即Excel列的排列顺序

3.时间转化格式(dateFormat)默认为“yyyy-MM-dd HH🇲🇲ss“

导入

1.当导入Excel, 读取到空行, 则停止读取当前Sheet的后面数据行

2.导入Excel文件, 单元格格式使用文本或者常规, 防止出现不可预测异常

3.导入字段类型支持:Date、Short(short)、Integer(int)、Double(double)、Long(long)、Float(float)、BigDecimal、String类型

4.导入BigDecimal字段精度默认为2, roundingMode默认为BigDecimal.ROUND_HALF_EVEN, scale设置为-1则不进行格式化

5.第一行有效单元格内必须包含内容并且以第一行为依据, 导入Excel文件列数必须等于标注注解的属性数量

6.Date类型字段,Excel与时间转化格式(dateFormat)相比,格式要保持一致(反例:2018/12/31和“yyyy-MM-dd“)并且长度要一致或更长(反例:"2018-12-31"和yyyy-MM-dd HH🇲🇲ss"),否则SimpleDateFormat将解析失败,报 “Unparseable date:”

导出

1.导出BigDecimal字段默认不进行精度格式化

2.分页查询默认从第一页开始, 每页3000条

3.Excel每超过2000条数据, 将内存中的数据刷新到磁盘当中去

4.使用分Sheet导出方法, 每8万行数据分Sheet

5.当使用(exportResponse、exportStream、generateExcelStream)方法时, 当单个Sheet超过100万条则会分Sheet

6.标注属性类型要与数据库类型保持一致

7.如果想提高性能, 并且内存允许、并发导出量不大, 可以根据实际场景适量改变分页条数和磁盘刷新量

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

HSSF和XSSF

Apache POI HSSF和XSSF读写EXCEL

2016/08/01 21:01
59
0
spring boot后台管理系统,shiro权限管理, restful风格的接口

源码地址:https://gitee.com/zhang.w/boot-backend.git 随着spring boot的出现,java又上升了一个层次,以往tomcat部署war的形式也改变了,现在可以直接一个jar包、一行命令,真正实现一次编...

2018/08/26 21:16
225
1
Excel,World在线预览

java web Excel在网页预览 I Doc View 利用officeapps.live.com 中的预览功能 TOOL-532T_Sutter.pptx word,excel,ppt在线预览功能 采用微软的api来进行访问 Spring Boot 构建 Excel 文件在线...

2018/08/27 09:05
101
0
EasyPoi的使用与学习(Excel的导入导出)

概况 今天做Excel导出时,发现了一款非常好用的POI框架EasyPoi,其 使用起来简洁明了。现在我们就来介绍下EasyPoi,首先感谢EasyPoi 的开发者 Lemur开源 easypoi 简介 easypoi 是为了让开发者...

01/30 13:44
6
0
2018年阿里巴巴开源的那些牛逼java项目汇总

把阿里巴巴的一些重要的开源项目进行整理,希望对大家有所帮助。(以下项目排名不分先后) 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布...

02/15 17:40
9
0
java8函数式编程

Java8引入了很多"让人眼前一亮"的一些新特性,本文先介绍函数式编程(java8 lambda)。 首先想象这么一种应用,在工作生活中总是有可能需要处理一个功能:查询一张表的全部数据,然后将这张表...

2016/06/03 08:19
29
0
[开源系统] springboot快速开发框架推荐

本期为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架、文件文档系统、秒杀系统、微服务化系统、后台管理系统等,希望能够给大家带来一点帮助:) 1、项目名称:...

2018/12/13 17:16
547
2

没有更多内容

加载失败,请刷新页面

返回顶部
顶部