在这个数字化时代,将Excel数据导入数据库是一个常见的需求。而使用.NET框架进行这一操作既高效又简单。本文将带您详细了解如何用.NET框架高效导入Excel数据到数据库,让您轻松掌握这一实用技能。
1. 准备工作
在进行操作之前,您需要准备以下条件:
- 安装.NET开发环境
- 有一个Excel文件和相应的数据库
- 熟悉C#编程语言
2. 使用NPOI库读取Excel文件
NPOI是一个开源的.NET库,用于读取和写入Microsoft Office格式的文件,包括Excel和Word。以下是如何使用NPOI库读取Excel文件的一个简单示例:
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Data;
public DataTable ReadExcel(string filePath)
{
IWorkbook workbook = new XSSFWorkbook(filePath);
ISheet sheet = workbook.GetSheetAt(0);
DataTable dt = new DataTable();
for (int r = 0; r <= sheet.LastRowNum; r++)
{
IRow row = sheet.GetRow(r);
if (row == null) continue;
DataRow dataRow = dt.NewRow();
for (int c = 0; c < row.LastCellNum; c++)
{
ICell cell = row.GetCell(c);
if (cell != null)
{
if (cell.CellType == CellType.String)
dataRow[c] = cell.StringCellValue;
else if (cell.CellType == CellType.Numeric && DateUtil.IsCellDateFormatted(cell))
dataRow[c] = cell.DateCellValue;
else if (cell.CellType == CellType.Numeric && cell.NumericCellValue == Math.Round(cell.NumericCellValue))
dataRow[c] = cell.NumericCellValue.ToString("F0");
else
dataRow[c] = cell.ToString();
}
}
dt.Rows.Add(dataRow);
}
return dt;
}
3. 使用ADO.NET将数据插入数据库
接下来,我们需要使用ADO.NET将读取到的数据插入数据库。以下是如何使用ADO.NET插入数据的示例:
using System;
using System.Data;
using System.Data.SqlClient;
public void InsertDataToDatabase(string connectionString, DataTable dt)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO TableName (Column1, Column2, Column3) VALUES (@Column1, @Column2, @Column3)", conn))
{
conn.Open();
for (int i = 0; i < dt.Rows.Count; i++)
{
cmd.Parameters.AddWithValue("@Column1", dt.Rows[i]["Column1"]);
cmd.Parameters.AddWithValue("@Column2", dt.Rows[i]["Column2"]);
cmd.Parameters.AddWithValue("@Column3", dt.Rows[i]["Column3"]);
cmd.ExecuteNonQuery();
}
}
}
}
4. 整合示例
将上述两个示例整合起来,我们得到了一个完整的示例,用于读取Excel文件并插入数据到数据库:
public void Main()
{
string filePath = "path_to_your_excel_file.xlsx";
string connectionString = "your_connection_string";
DataTable dt = ReadExcel(filePath);
InsertDataToDatabase(connectionString, dt);
}
5. 总结
通过本文的介绍,您应该已经掌握了使用.NET框架高效导入Excel数据到数据库的方法。在实际操作中,您可以根据自己的需求调整示例代码,以实现更复杂的功能。希望本文对您有所帮助!
