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_name
、root
和password
替换您实际使用的数据库名称、用户名和密码。
然后,我们需要创建一个数据库连接,并将数据插入数据库。以下是一个简单的代码示例:
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插入数据