如何往MySQL里面的表格输入excel表格数据,使用Java代码
时间: 2024-12-17 08:49:11 浏览: 12
在Java中,我们可以使用JDBC (Java Database Connectivity) API以及Apache POI库来将Excel表格的数据导入到MySQL数据库中。以下是一个简单的步骤概述:
1. **添加依赖**:
首先,你需要在项目中引入相关的库。例如,如果你使用Maven,可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
```
2. **连接数据库**:
使用`java.sql.DriverManager`获取数据库连接,需要MySQL的JDBC驱动。
3. **读取Excel**:
使用`apache poi`库中的`HSSFWorkbook`和`HSSFSheet`类打开并操作Excel文件。
4. **遍历工作表**:
遍历每个sheet,然后使用`HSSFRow`类处理每一行数据。
5. **解析单元格**:
对于每一个单元格,获取其值,并将其转换为适合插入数据库的格式(如日期、字符串等)。
6. **插入数据**:
使用JDBC的`PreparedStatement`避免SQL注入攻击,并逐条插入数据到数据库表中。
7. **关闭资源**:
关闭数据库连接、工作簿等资源。
这是一个基础的示例代码片段:
```java
import java.io.File;
import org.apache.poi.ss.usermodel.*;
import java.sql.Connection;
import java.sql.DriverManager;
public class ExcelToMySQL {
public static void main(String[] args) {
String excelFile = "path_to_your_excel_file.xlsx";
String jdbcUrl = "jdbc:mysql://localhost:3306/your_database?useSSL=false";
String username = "your_username";
String password = "your_password";
try {
FileInputStream fis = new FileInputStream(new File(excelFile));
Workbook workbook = new HSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0); // 假设你只有一个sheet
Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
for (Row row : sheet) {
if (row.getRowNum() > 0) { // 忽略表头
int index = 0;
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO your_table_column1, column2, ... VALUES (?, ?, ...)");
for (Cell cell : row) {
switch (cell.getCellType()) {
case STRING:
pstmt.setString(index++, cell.getStringCellValue());
break;
// 其他类型处理...
}
}
pstmt.executeUpdate();
}
}
workbook.close();
fis.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
记得替换上述代码中的`your_*`部分为实际的文件路径、数据库信息、表名、列名等。
阅读全文