java批量导入excel到数据库
时间: 2023-09-16 09:10:23 浏览: 152
要批量导入Excel到数据库,可以使用Java中的Apache POI和JDBC技术。以下是一个简单的示例代码:
```java
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
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.xssf.usermodel.XSSFWorkbook;
public class ExcelToDatabase {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
String sql = "INSERT INTO mytable (column1, column2, column3) VALUES (?, ?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
FileInputStream inputStream = new FileInputStream("data.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
Cell cell1 = row.getCell(0);
Cell cell2 = row.getCell(1);
Cell cell3 = row.getCell(2);
statement.setString(1, cell1.getStringCellValue());
statement.setInt(2, (int) cell2.getNumericCellValue());
statement.setDouble(3, cell3.getNumericCellValue());
statement.addBatch();
}
statement.executeBatch();
System.out.println("Data imported successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们首先建立了一个JDBC连接,然后使用Apache POI从Excel文件中读取数据。我们将每一行数据插入到数据库表中,使用PreparedStatement对象来执行SQL语句。最后,我们使用executeBatch()方法来批量执行插入操作。
请注意,这个示例假设Excel文件中的第一列是字符串,第二列是整数,第三列是双精度浮点数。您需要根据实际情况进行适当的更改。
阅读全文