各位朋友大家好,我是奋斗的小强001,本期更新的内容是:基于SpringBoot+POI实现的excel导入导出(适配+教程)。

我将以八期的内容对整个工具进行代码分析和说明,具体八期内容安排将在文末罗列。

介绍

项目中使用到了excel做导入和导出,网上查询了一些资料,没有找到一些合适的或者完成的,于是乎,利用空闲时间开发出一套完整的excel导入导出。

整个功能将会在本文发布后的八期内容里完成更新。会将导入导出的核心代码贴出来供大家参考,有些不足的地方,可供大家共同探讨优化。

因更新时间较长,内部部分代码比较陈旧。近期正在对内部功能代码进行优化升级。优化后的代码会以github等方式公开。

导入功能说明

目前最新的版本中 支持以下功能:

1.可以生成自定义数据模板

2.可以生成下拉数据格式模板(固定数据使用)

3.定义导入样式

4.自定义导入数据处理接收参数对象

5.多对象接收数据转换

6.固定数据,字典等格式数据翻译

7.参数转数据库主键翻译

8.自定义读取sheet

9.多线程读取excel数据(待实现)

10.通过注解方式自定义导入表头,表头排序

11.支持本功能导出的数据不做操作直接导入

导入操作流程

导出功能说明

1.支持导出自定义表头,表格样式
2.支持数据字典翻译
3.支持自定义数据合计计算
4.支持金额格式转换(千位分隔)
5.多线程导出(待实现)
6.支持导出复杂类型表头(目前仅支持二级合并表头)
7.支持自定义单元格合并

导出执行流程

导出即导入

导入即导入说明
导出的数据可以在不做任何修改的情况下即可导入到数据库中

工具性能测试结果展示


数据说明

以上表格数据表示使用该工具后大数据量分段写数据的性能

内存和时间的消耗均包含数据查询时间和写数据到数据库的时间

数据复杂程度:中等

测试数据总条数:231064

测试结果跟使用的环境有一定关系:本人测试使用的环境是win7+8G运行,jdk1.8

使用单线程测试

后期还会优化多线程版本,敬请期待。

写在最后

本文对导入和导出的整体功能做了个简单的说明,本期后的八期内容将分开对以上内容的核心代码进行分析,主要内容分布如下:

1. POI和HSSFWorkbook介绍

2. 导入实现的基本逻辑代码分析

3. 导入生成文件固定数据代码分析

4.导入数据对象接收数据处理

5.导出写数据的基本逻辑代码分析

6.导出动态处理计算和格式逻辑代码分析

7.自定义表头方式

8.导入导出生成文件流返回

自本文发布日期起开始更新,每周更新一期,每周日晚更新,欢迎围观。

欢迎大家阅读和探讨.有问题可以随时私信我,谢谢大家. 欢迎大家点赞和支持。