从Excel读取数据并写入MySQL数据库

在实际开发中,我们经常需要将Excel表格中的数据导入到数据库中,这里以Java语言为例,介绍如何读取Excel文件并将数据写入MySQL数据库。

准备工作

在开始之前,需要确保已经安装好Java开发环境和MySQL数据库,并在项目中引入相关的依赖包进行操作。

依赖包

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>

读取Excel数据

首先,需要编写一个方法来读取Excel文件中的数据:

import org.apache.poi.ss.usermodel.*;

import java.io.FileInputStream;
import java.util.Iterator;

public class ExcelReader {

    public void readExcel(String filePath) {
        try {
            FileInputStream file = new FileInputStream(filePath);
            Workbook workbook = WorkbookFactory.create(file);
            Sheet sheet = workbook.getSheetAt(0);

            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    System.out.print(cell.toString() + " ");
                }
                System.out.println();
            }

            file.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

写入MySQL数据库

接下来,编写一个方法将Excel数据写入MySQL数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class MySQLWriter {

    public void writeToDatabase(String data) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");

            String query = "INSERT INTO table_name (column_name) VALUES (?)";
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, data);

            statement.executeUpdate();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

序列图

使用Mermaid语法来表示读取Excel并写入MySQL的序列图:

sequenceDiagram
    participant ExcelReader
    participant MySQLWriter

    ExcelReader->>ExcelReader: 读取Excel数据
    ExcelReader->>MySQLWriter: 将数据传递给MySQLWriter
    MySQLWriter->>MySQLWriter: 写入数据库

关系图

使用Mermaid语法来表示数据库表与字段的关系图:

erDiagram
    CUSTOMER {
        int id
        varchar name
    }

结尾

通过以上代码示例和图表,我们可以了解到如何使用Java读取Excel数据并写入MySQL数据库。在实际应用中,我们可以根据需求对代码进行修改和优化,以满足具体的业务需求。希望这篇文章对你有所帮助。