您好!欢迎来到源码码网

Excel导入导出解决方案轻量级开源组件Excel-Boot介绍

  • 源码教程
  • 来源:源码码网
  • 编辑:admin
  • 时间:2021-11-04 17:54
  • 阅读:654

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

功能简介

  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:mm: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:mm:ss"),否则SimpleDateFormat将解析失败,报 “Unparseable date:”

image.png

导出

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

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

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

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

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

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

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

扩展

1.新建子类继承ExcelBoot类, 使用子类构造器覆盖以下默认参数, 作为通用配置

2.直接调用以下两个构造器, 用于临时修改配置

版本

当前为2.0版本, 新版本正在开发(包括:导出Word、PDF、单元格合并等)

使用手册

1.引入Maven依赖

2.将需要导出或者导入的实体属性上标注@ExportField或@ImportField注解,并根据自己需要编写属性

3.在使用者项目相应的代码中粘贴相应的导出或者导入代码

4.将Demo中注释标明:"需要使用本组件的开发者自己定义的" 的替换成自己项目中的类

5.将开发者自定义逻辑编写到导出pageQuery或者导入onProcess方法中

6.将开发者自定义逻辑编写到导出convert或者导入onError方法中

关注源码码网,分享更多免费开源项目。

特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 常用测试压力工具使用介绍
  • 常用测试压力工具使用介绍
  • ab 是 ApacheBench 工具的缩写,它是一个HTTP压力测试工具。让我详细说明如何测试:1. 安装ApacheBenchWindows系统:方法一:安装XAMPP或WAMP(自带ab)下载地址:https://www.apachefriends.org/zh_cn/index.html安装后,ab工具在:C:xamppapacheinab.exe方法二:使
  • 开发工具
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-13 20:27
  • 阅读:56
  • 工程项目一体化自动管理软件解决方案
  • 工程项目一体化自动管理软件解决方案
  • 1.项目概述1.1项目背景在工程建设行业数字化转型浪潮下,传统项目管理面临信息孤岛、协同困难、进度不可控、成本超支等痛点。本方案旨在构建一个覆盖工程项目全生命周期、全参与方、全业务流程的一体化智能管理平台。1.2解决方案愿景打造数据驱动、智能协同、风险预警、自动执行的工程大脑,实现:管理流程自动化率≥80%项目协同效率提升40%成本偏差率降低至±3%以内安全事故发生率降低60%1.3目标用户矩阵┌───────────────┬
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:26
  • 阅读:169
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 第一部分:需求文档1.项目概述1.1项目背景为企事业单位、车队运营商、租赁公司等提供一套完整的车辆全生命周期管理解决方案,实现车辆管理数字化、智能化。1.2项目目标建立车辆从购置到报废的全流程管理体系实现用车申请、调度、监控、结算的闭环管理通过数据分析优化车辆使用效率降低车辆运维成本20%以上1.3用户角色矩阵┌──────────────┬─────────────────────────────┬──────────────
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:11
  • 阅读:157
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档文档版本: V1.0项目目标: 构建一个集环境智能监测、设备自动化控制、生长模型分析、溯源管理与远程指挥于一体的综合物联网管理平台,实现降本增效、提质增产、风险预警与品牌增值。1.系统总体概述1.1核心价值: 数据驱动决策,解放人力,实现农业/渔业生产的精准化、自动化与智能化。1.2用户角色:生产员/养殖员: 现场巡视、接收告警、执行设备手动控制、查看实时环境
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:04
  • 阅读:68
  • 程序员AI编程工具推荐
  • 程序员AI编程工具推荐
  • AI编程工具是当前开发者的“副驾驶”,能够极大提升开发效率。以下我将从通用型、代码专用型、垂直领域型以及开源/自部署型几个维度为您分类推荐,并附上它们的核心特点和适用场景,帮助您选择。一、通用型AI对话助手(编程是核心能力之一)这类工具本质是“更懂代码的ChatGPT”,适合处理广泛的编程问题、解释代码、生成文档等。ChatGPT(GPT-4/4o)简介:行业标杆,尤其在GPT-4版本下,代码理解和生成能力极强。优点:上下文能力强,
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 10:56
  • 阅读:96
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部