从 Excel 文件中读取数据生成 SQL 语句[快捷main方法]
从 Excel 文件中读取数据生成 SQL 语句的实现
在日常工作中,我们经常需要从 Excel 文件中提取数据,并将其转换为 SQL 插入语句,以便于将数据导入到数据库中。在这篇文章中,我将展示如何使用 Java 来实现这一需求。
项目需求
我们有一个 Excel 文件,里面包含了供应商的信息。我们的目标是读取这个 Excel 文件并将每一行数据转换为一条 SQL INSERT
语句,然后将这些语句写入到一个文本文件中,以便后续执行。
所需工具
- Java 开发环境(JDK)
- Apache POI 库,用于处理 Excel 文件
实现步骤
1. 添加依赖
首先,我们需要在项目中添加 Apache POI 库。如果你使用的是 Maven 项目,可以在 pom.xml
中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version> <!-- 确保版本与最新版本一致 -->
</dependency>
2. 编写 Java 代码
以下是我们的 Java 程序,用于读取 Excel 文件并生成 SQL:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
public class ExcelToSqlConverter {
public static void main(String[] args) {
String excelFilePath = "path/to/your/excel/file.xlsx"; // Excel 文件路径
String outputFilePath = "path/to/your/output/file.sql"; // 输出文本文件路径
try (FileInputStream fis = new FileInputStream(excelFilePath);
Workbook workbook = new XSSFWorkbook(fis);
FileWriter writer = new FileWriter(outputFilePath)) {
Sheet sheet = workbook.getSheetAt(0); // 读取第一个工作表
// 遍历 Excel 行
for (Row row : sheet) {
// 跳过表头
if (row.getRowNum() == 0) {
continue;
}
// 读取单元格数据
String supplierCode = row.getCell(0).getStringCellValue();
String supplierName = row.getCell(1).getStringCellValue();
String accountName = row.getCell(2).getStringCellValue();
String bankNumber = row.getCell(3).getStringCellValue();
String supplierAccount = row.getCell(4).getStringCellValue();
// 创建 SQL 插入语句
String sql = "INSERT INTO supplier_maintenance (pk_uuid, sysisdelete, syscreatedate, supplier_code, supplier_name, supplier_account, bank_name, bank_number) VALUES ("
+ "md5(random()::text || clock_timestamp()::text), '0', '2024-12-09 21:21:21', '"
+ supplierCode + "', '"
+ supplierName + "', '"
+ supplierAccount + "', '"
+ accountName + "', '"
+ bankNumber + "');\n";
// 写入到文本文件
writer.write(sql);
}
} catch (IOException e) {
throw new RuntimeException("Error processing the Excel file", e);
}
}
}
代码解释
- 文件路径:修改
excelFilePath
和outputFilePath
为你自己的文件路径。 - Apache POI:使用
FileInputStream
和Workbook
来读取 Excel 文件。XSSFWorkbook
用于处理.xlsx
格式的文件。 - 遍历行:我们跳过了表头(第一行),然后对每一行的数据生成 SQL 语句。
- 写入文件:使用
FileWriter
将生成的 SQL 写入到一个文本文件中。
注意事项
- 确保 Excel 文件的格式正确,列的顺序与代码中的列号一致。
- 处理 Excel 操作时,务必关闭文件流以避免资源泄漏。
- 处理字符串时要小心 SQL 注入问题。在生产环境中,建议使用参数化 SQL 以保证安全。
总结
通过这个简单的程序,我们可以高效地将 Excel 中的数据转换为 SQL 语句,从而简化了数据导入的过程。希望这篇文章对你有所帮助!
原文地址:https://blog.csdn.net/m0_47905795/article/details/144372741
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!