当前位置: 首页 > 图灵资讯 > 技术篇> Java excel20万条数据导入数据库

Java excel20万条数据导入数据库

来源:图灵教育
时间:2024-01-25 13:29:29

Java Excel 120万数据导入数据库. 引言

在日常工作和学习中,我们经常需要处理大量的数据,并将这些数据存储在数据库中进行进一步的分析和处理。Excel作为一种常见的数据格式,经常用于存储和管理数据。本文将介绍如何使用Java快速将Excel中的20万个数据导入数据库,并提供相应的代码示例。

2. 准备工作

在开始之前,我们首先需要准备以下环境和工具:

  • JDK(Java Development Kit)
  • Eclipse(或其它Java开发工具)
  • Apache POI(用于读取Excel数据)
  • 数据库(本文以MySQL为例)

确保您已经安装了JDK和Eclipse,并配置了Java开发环境。在Eclipse中创建一个新的Java项目,并使用Apache 将POI的jar包添加到项目的classpath中。

3. 读取Excel数据

首先,我们需要使用Apache POI库读取Excel中的数据。以下是读取Excel中的数据并打印出来的简单代码示例:

import java.io.FileInputStream;import java.io.IOException;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class ExcelReader {    public static void main(String[] args) {        try {            FileInputStream fis = new FileInputStream("data.xlsx");            Workbook workbook = new XSSFWorkbook(fis);            Sheet sheet = workbook.getSheetAt(0);                        for (Row row : sheet) {                for (Cell cell : row) {                    System.out.print(cell.toString() + "\t");                }                System.out.println();            }                        workbook.close();            fis.close();        } catch (IOException e) {            e.printStackTrace();        }    }}

在上述代码中,我们首先打开Excel文件(假设文件被称为data.xlsx),然后打开第一个工作表。然后,我们使用两个嵌套循环遍历工作表中的所有行和单元格,并打印每个单元格的值。

4. 将数据导入数据库

一旦我们成功地读取Excel中的数据,下一步就是将这些数据导入数据库。在本文中,我们以MySQL数据库为例,演示如何使用Java将数据导入MySQL数据库。首先,我们需要准备数据库的连接信息:

String url = "jdbc:mysql://localhost:3306/database_name";String username = "root";String password = "password";

请将上述代码中的代码database_namerootpassword替换您实际使用的数据库名称、用户名和密码。

然后,我们需要创建一个数据库连接,并将数据插入数据库。以下是一个简单的代码示例:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class DatabaseImporter {    public static void main(String[] args) {        String url = "jdbc:mysql://localhost:3306/database_name";        String username = "root";        String password = "password";                try {            Connection connection = DriverManager.getConnection(url, username, password);                        FileInputStream fis = new FileInputStream("data.xlsx");            Workbook workbook = new XSSFWorkbook(fis);            Sheet sheet = workbook.getSheetAt(0);                        String insertQuery = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?, ?)";            PreparedStatement statement = connection.prepareStatement(insertQuery);                        for (Row row : sheet) {                statement.setString(1, row.getCell(0).toString());                statement.setString(2, row.getCell(1).toString());                statement.setString(3, row.getCell(2).toString());                statement.executeUpdate();            }                        statement.close();            workbook.close();            fis.close();            connection.close();        } catch (IOException | SQLException e) {            e.printStackTrace();        }    }}

在上述代码中,我们首先创建了一个数据库连接,然后打开Excel文件并获取工作表。然后,我们用预编译的SQL语句将数据插入数据库。最后,我们关闭了数据库连接和Excel文件。

5. 总结

通过本文的介绍,我们学习了如何使用Java将Excel中的20万个数据导入数据库。首先,我们使用Apache POI库读取Excel数据,然后用JDBC插入数据