C#使用NPOI将excel文件导入到Oracle数据库
时间: 2023-08-03 07:07:31 浏览: 221
导入excel文件,是NPOI插件
5星 · 资源好评率100%
将Excel文件中的数据导入到Oracle数据库可以使用以下步骤:
1. 首先,需要将Excel文件读取到C#中,可以使用NPOI库来读取Excel文件中的数据。
2. 连接Oracle数据库,并打开连接。
3. 创建一个OracleCommand对象,该对象用于执行SQL命令。
4. 遍历Excel文件中的每一行数据,并将数据插入到Oracle数据库中,可以使用OracleCommand对象的ExecuteNonQuery方法来执行SQL语句。
以下是一个示例代码:
```csharp
using System;
using System.Data;
using System.Data.OracleClient;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
// 读取Excel文件
HSSFWorkbook workbook = new HSSFWorkbook(new FileStream("Excel文件路径", FileMode.Open));
ISheet sheet = workbook.GetSheetAt(0);
// 连接Oracle数据库
string connectionString = "Data Source=数据库地址;User ID=用户名;Password=密码;";
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
// 创建OracleCommand对象
OracleCommand command = new OracleCommand();
command.Connection = connection;
// 遍历Excel文件中的每一行数据,将数据插入到Oracle数据库中
for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
if (row == null) continue;
string col1 = row.GetCell(0).ToString().Trim();
string col2 = row.GetCell(1).ToString().Trim();
string col3 = row.GetCell(2).ToString().Trim();
string sql = "insert into table_name(col1, col2, col3) values(:col1, :col2, :col3)";
command.CommandText = sql;
command.Parameters.Clear();
command.Parameters.Add(new OracleParameter(":col1", col1));
command.Parameters.Add(new OracleParameter(":col2", col2));
command.Parameters.Add(new OracleParameter(":col3", col3));
command.ExecuteNonQuery();
}
// 关闭连接
connection.Close();
```
需要注意的是,在执行SQL语句时,使用了参数化查询,可以防止SQL注入攻击。另外,需要根据Excel文件和Oracle数据库的实际情况,修改代码中的表名、列名和连接字符串等信息。
阅读全文