# springboot-excel **Repository Path**: futurelearning-materials/springboot-excel ## Basic Information - **Project Name**: springboot-excel - **Description**: 百万级数据导入导出解决方案 Spring Boot 、EasyExcel 、MyBatis-Plus、 Disruptor 、MySQL - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-05-05 - **Last Updated**: 2025-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 百万Excel数据,如何导入到数据库? [参考文章](https://www.cnblogs.com/idbb98/p/18795436) [高性能队列——Disruptor](https://tech.meituan.com/2016/11/18/disruptor.html) ### 流程图 ![](/asserts/flow.drawio.png) ### 项目上需要导入一个几百万数据 excel 文件到数据库中,有哪些注意点? 1. 技术选型 (EasyExcel 读取;Disruptor 队列; MyBatisPlus 插入数据库) 2. 性能优化 (流式逐行读取到内存;内存队列缓冲,多生产者,提升并发;数据库批量插入,索引优化) 3. 错误处理 (数据验证; 异常捕获; 日志记录) ## 导出数据 ### com.keepc.excel.service.DataExportService.exportData 单线程、分页查询、分sheet写入、有序 ### com.keepc.excel.service.DataExportService.exportData2 多线程、分页查询、缓存队列、生产者-消费者模式分sheet写入、无序 ### 测试结果 2百万数据导出耗时 ![2百万数据导出耗时](/asserts/exportTests.png)