1. 创建数据库表

首先需要在数据库中创建一个表,用于存储Excel表格中的数据。可以使用以下SQL语句创建一个名为“excel_data”的表:

CREATE TABLE excel_data (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255),
  age INT,
  gender VARCHAR(10),
  email VARCHAR(100)
);

其中,“id”为主键,“name”、“age”、“gender”和“email”为Excel表格中的列名。

  1. 创建实体类

在Java中创建一个实体类,用于映射数据库表中的数据。在本例中,实体类的属性与数据库表中的列名相对应。可以使用以下代码创建一个名为“ExcelData”的实体类:

@Entity
@Table(name = "excel_data")
public class ExcelData {
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
 
    private String name;
 
    private Integer age;
 
    private String gender;
 
    private String email;
 
    // getters and setters
}
  1. 创建上传页面

在前端页面中创建一个上传Excel表格的文本框,并添加一个“上传”按钮。可以使用以下代码创建一个名为“upload.html”的页面:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Upload Excel File</title>
</head>
<body>
    <form th:action="@{/upload}" method="post" enctype="multipart/form-data">
        <input type="file" name="file"><br><br>
        <input type="submit" value="Upload">
    </form>
</body>
</html>
  1. 实现上传功能

在Spring Boot中,可以使用MultipartFile类来处理上传的文件。可以在控制器中创建一个POST请求,用于处理上传请求,读取Excel表格中的数据,并将数据存储到数据库表中。可以使用以下代码实现上传功能:

@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file, Model model) throws IOException {
    // 读取Excel表格中的数据
    List<ExcelData> data = new ArrayList<>();
    Workbook workbook = new XSSFWorkbook(file.getInputStream());
    Sheet sheet = workbook.getSheetAt(0);
    for (Row row : sheet) {
        if (row.getRowNum() == 0) {
            continue;
        }
        ExcelData excelData = new ExcelData();
        excelData.setName(row.getCell(0).getStringCellValue());
        excelData.setAge((int) row.getCell(1).getNumericCellValue());
        excelData.setGender(row.getCell(2).getStringCellValue());
        excelData.setEmail(row.getCell(3).getStringCellValue());
        data.add(excelData);
    }
    workbook.close();
 
    // 将数据存储到数据库表中
    data.forEach(excelDataRepository::save);
 
    model.addAttribute("message", "Upload successful!");
    return "upload";
}

其中,“ExcelDataRepository”是一个继承自JpaRepository的接口,用于操作数据库表中的数据。可以使用以下代码创建一个名为“ExcelDataRepository”的接口:

public interface ExcelDataRepository extends JpaRepository<ExcelData, Long> {
}
  1. 显示上传结果

在上传成功后,可以在前端页面中显示上传结果。可以在“upload.html”页面中添加以下代码,用于显示上传结果:

<p th:if="${message != null}" th:text="${message}"></p>

以上就是将Excel表格中的数据存储到数据库表中的完整代码

将excel表格中的数据存储到数据库表中前端有一个上传excel的文本框前端用thymeleaf后端用Spring boot+jpa

原文地址: https://www.cveoy.top/t/topic/fixW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录