当前位置: 首页 > news >正文

关于如何在Springboot项目中通过excel批量导入数据

接口文档

2.5 批量导入学生账号

2.5.1 基本信息

请求路径:/admin/students/batch-import

请求方式:POST

接口描述:通过上传Excel文件批量导入学生账号信息。

2.5.2 请求参数

参数格式:multipart/form-data

参数说明:

参数名称参数类型是否必须备注
filefile包含学生信息的Excel文件。列应对应学生信息字段,如准考证号、姓名、学校等。
2.5.3 响应数据

参数格式:application/json

参数说明:

参数名类型是否必须备注
codenumber必须响应码,1 代表成功,0 代表失败
msgstring非必须提示信息
dataobject非必须返回的导入结果统计
|- successCountnumber非必须成功导入的数量
|- failureCountnumber非必须失败导入的数量
|- errorsarray非必须导入失败的记录及原因列表(可选)

响应数据样例:

{"code": 1,"msg": "部分导入成功","data": {"successCount": 98,"failureCount": 2,"errors": [{ "rowNumber": 5, "examCard": "INVALID_EXAM_CARD", "reason": "准考证号格式错误" },{ "rowNumber": 20, "examCard": "DUPLICATE_EXAM_CARD", "reason": "准考证号已存在" }]}
}

具体实现

1.导入依赖

首先在项目的maven仓库中引入poi 相关依赖:

      <!-- poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><!-- poi-ooxml--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.16</version></dependency>

2.批量导入学生账号接口

    /*** 批量导入学生账号* @param file Excel文件* @return 导入结果*/@PostMapping(value = "/students/batch-import")@ApiOperation("批量导入学生账号")public Result<BatchImportResultVO> batchImportStudents(@ApiParam(value = "包含学生信息的Excel文件", required = true)@RequestPart("file") MultipartFile file) {BatchImportResultVO importResult = studentService.batchImportStudents(file);String message = "导入处理完成.";if (importResult.getFailureCount() > 0 && importResult.getSuccessCount() > 0) {message = "部分导入成功.";}else if (importResult.getFailureCount() > 0 && importResult.getSuccessCount() == 0) {message = "导入失败.";}else if (importResult.getFailureCount() == 0 && importResult.getSuccessCount() > 0) {message = "全部导入成功.";} else if (importResult.getSuccessCount() == 0 && importResult.getFailureCount() == 0) {message = "未导入任何数据或文件内容为空."; // More specific for no data processed}// Corrected order: data first, then messagereturn Result.success(importResult, message)

相关文章:

  • CentOS安装最新Elasticsearch8支持向量数据库
  • openEuler 22.03 LTS-SP3 系统安装 docker 26.1.3、docker-compose
  • 大队项目流程
  • 关于WPS修改默认打开设置
  • scikit-learn pytorch transformers 区别与联系
  • 推荐一个Excel与实体映射导入导出的C#开源库
  • C++(28):容器类 <map>
  • 前端学习笔记element-Plus
  • GaussDB(PostgreSQL)查询执行计划参数解析技术文档
  • 嵌入式学习的第二十六天-系统编程-文件IO+目录
  • AJAX get请求如何提交数据呢?
  • 阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
  • Ajax01-基础
  • 数据仓库工具箱第三版——读书笔记(未完)
  • jvm安全点(五)openjdk17 c++源码垃圾回收之安全点阻塞状态线程在安全点同步中无需调用block函数的详细流程解析
  • Origin绘制多因子柱状点线图
  • 鸿蒙Flutter实战:24-混合开发详解-4-初始化Flutter
  • uniapp打包报错:重新在manifest.json中生成自己的APPID
  • Java-根据路径获取JSON字符串的value值
  • 程序代码篇---Pytorch实现LATM+APF轨迹预测
  • 网站开发策划个人简历/成都seo网络优化公司
  • 网站优化文章怎么做/品牌营销策划机构
  • 网站建设需要什么软件/百度销售系统
  • 湖州小程序开发/seo 页面
  • 广州海外建站/泉州全网营销推广
  • 网站编辑工具/关键字优化用什么系统