# export-excel **Repository Path**: maye-e/export-excel ## Basic Information - **Project Name**: export-excel - **Description**: excel导出工具,支持海量数据,实用、高效且优雅 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-04-03 - **Last Updated**: 2024-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README master分支分支已升级,改进查询方式,只需 1 ~ 2 次查询,如过提前预设总行数,则只需一次查询即可导出全部数据,无论查询返回多少行数据, 百万、千万、亿级导出都不会 OOM。 #### master分支 本程序特点:使用方式优雅且兼顾效率,只需要提前准备好一个或多个 sql 文件,启动程序之后无人值守,你可以去喝杯咖啡、去撩妹,或者做你想做的事情... 代码特点: * 1.逻辑清晰,与业务无关的方法都在 utils 包下 * 2.用表驱动方式优化了 if...else 程序功能: * 1.支持多个 sql 文件的导出 * 2.自动添加样式:自动筛选、首行加粗、冻结首行 * 3~~.支持总行数查询优化~~,默认用 @fast{...}@ 包裹。考虑到实际中不可预期的情况,这个标记也可以自定义。 查询总行数优化的这个想法自己还没有设计好,暂时先不用。如果做的话可以考虑用 druid 提供的 sql 解析功能,利用 ast(抽象语法树)来考虑实现。 (该设计参考了 sqltoy ,致敬作者,有兴趣可以了解 sqltoy 这个国产 rom 框架,特别是做报表统计相关的项目,很方便) 使用前提:1.至少 jre8 ;2.配置好了 maven 使用方法: * 1.git clone https://gitee.com/maye-e/export-excel.git * 2.配置数据库,在config/db.setting 中 * 3.配置导出参数。在config/config.setting中。注意:excel_rows 为必选设置,其他设置可以为空,具体请看 config.setting 中的注释说明 * 4.在 ide 中,或在项目根目录(与 pom.xml 同级的位置)下,执行 maven 命令:mvn clean package -DskipTests * 5.第 4 步成功之后,若是在 ide 中操作,则直接运行 com/may/export/ExportExcel.java 中的 main() 方法;
若是未用 ide 操作,则进入项目 target/目录下看到一个 "excel导出.zip",解压之后运行里面的 run.bat 或 run.sh 即可开始运行本程序,这种方 式使用只需要第一次执行 maven 命令,如过需要导出其他的,只需要修改本目录中的配置文件即可。 boot分支是基于springboot对代码重构,分层解耦,并引入mybatis,开启多线程查询。boot 中使用多线程查询并导出不是好的处理方式,导出效率仍然很低, 提高效率的关键是提高查询效率,拿到数据后导出都不是问题,**推荐使用 master 分支代码**,