手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

springboot实现Excel导入功能

时间:2024-10-23 05:13:54

1、第一步骤:创建一个springboot的项目(也可以创建一个简答的java项目)。1、 打开创建页面 选择File-new-project..2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java项目)3、输入项目名字,选择依赖web(如果不需要可以不选),选择存放目录-完成(Finish)

springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能

2、第二步骤:添加需要的依赖。1、添加web依赖用于前后台的交互,也就是servlet的功能。这个在创建的时候可以直接选择就可以。2、添加POI的依赖用于Excel的操作。<!--引入poi--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.0</version></dependency><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.0</version></dependency>3、添加视图解析Thymeleaf实现页面的展示。<!--Thymeleaf--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能

3、第三步骤:实体类。get和set方法自己生成。public class ImportData { private int id; private String name; private int age; private Date createDate;}

springboot实现Excel导入功能

4、第四步骤:后台controller代码编写。controller主要分为三部分1、引入需要的包2、跳转到导入页面的请求3、Excel导入请求,简单来说就是上传+excel读取package com.example.excelimport.controller;import com.example.excelimport.excel.ImportData;import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;@Controllerpublic class ExcelImportController { @GetMapping("/toHtml") String test(HttpServletRequest request) { return "excelImport"; } //处理文件上传 @ResponseBody//返回json数据 @RequestMapping(value = "/excelImport", method = RequestMethod.POST) public String uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest request) { String contentType = file.getContentType(); String fileName = file.getOriginalFilename(); if (file.isEmpty()) { return "文件为空!"; } try { //根据路径获取这个操作excel的实例 HSSFWorkbook wb = new HSSFWorkbook(file.getInputStream()); //根据页面index 获取sheet页 HSSFSheet sheet = wb.getSheetAt(0); //实体类集合 List<ImportData> importDatas = new ArrayList<>(); HSSFRow row = null; //循环sesheet页中数据从第二行开始,第一行是标题 for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { //获取每一行数据 row = sheet.getRow(i); ImportData data = new ImportData(); data.setId(Integer.valueOf((int) row.getCell(0).getNumericCellValue())); data.setName(row.getCell(1).getStringCellValue()); SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); data.setCreateDate(df.parse(df.format(HSSFDateUtil.getJavaDate(row.getCell(2).getNumericCellValue())))); data.setAge(Integer.valueOf((int) row.getCell(3).getNumericCellValue())); importDatas.add(data); } //循环展示导入的数据,实际应用中应该校验并存入数据库 for (ImportData imdata : importDatas) { SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); System.out.println("ID:"+imdata.getId()+" name:"+imdata.getName()+" createDate:"+df.format(imdata.getCreateDate())+" age:"+imdata.getAge()); } } catch (Exception e) { e.printStackTrace(); } return "导入成功!"; }}

springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能

5、第五步骤:前端导入页面。1、注意html页面存放的位置,默认要放excelimport\src\main\resources\templates\excelImport.html如下图:2:具体代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Excel导入</title></head><body><form enctype="multipart/form-data" method="post" action="/excelImport"> 选择Excel表格:<input type="file" name="file"/><br/> <input type="submit" value="上传"/></form></body></html>

springboot实现Excel导入功能
springboot实现Excel导入功能

6、第六步骤:测试。1、打开页面2、选择文件,并上传。3、测试结果输出如下图所示导入成功。

springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能
springboot实现Excel导入功能
© 手抄报圈