在.NET开发中,将Excel数据导入SQL数据库是一个常见的操作。这不仅可以帮助开发者更好地管理数据,还可以提高工作效率。本文将详细讲解如何使用.NET进行这一操作,让你轻松上手。
准备工作
在开始之前,请确保以下准备工作已完成:
- 安装.NET开发环境:Visual Studio或其他支持.NET的开发工具。
- 创建一个新的.NET项目。
- 安装必要的NuGet包:
EPPlus:用于读取Excel文件。System.Data.SqlClient:用于连接SQL数据库。
1. 读取Excel文件
首先,我们需要使用EPPlus库读取Excel文件。以下是一个简单的示例:
using OfficeOpenXml;
using System;
using System.Collections.Generic;
public class ExcelReader
{
public List<Dictionary<string, object>> ReadExcel(string filePath)
{
var fileInfo = new FileInfo(filePath);
using (var package = new ExcelPackage(fileInfo))
{
var workbook = package.Workbook;
var worksheet = workbook.Worksheets[0];
var result = new List<Dictionary<string, object>>();
for (int row = 1; row <= worksheet.Dimension.End.Row; row++)
{
var rowResult = new Dictionary<string, object>();
for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
{
rowResult.Add(worksheet.Cells[row, col].Address, worksheet.Cells[row, col].Value);
}
result.Add(rowResult);
}
return result;
}
}
}
2. 连接SQL数据库
接下来,我们需要使用System.Data.SqlClient连接到SQL数据库。以下是一个简单的示例:
using System.Data.SqlClient;
public class SqlDatabase
{
private readonly string _connectionString;
public SqlDatabase(string connectionString)
{
_connectionString = connectionString;
}
public void InsertData(List<Dictionary<string, object>> data, string tableName)
{
using (var connection = new SqlConnection(_connectionString))
{
connection.Open();
foreach (var row in data)
{
var command = new SqlCommand($"INSERT INTO {tableName} ({string.Join(", ", row.Keys)}) VALUES ({string.Join(", ", row.Keys.Select(k => "@" + k))})", connection);
foreach (var key in row.Keys)
{
command.Parameters.AddWithValue("@" + key, row[key]);
}
command.ExecuteNonQuery();
}
}
}
}
3. 将Excel数据导入SQL数据库
现在我们已经有了读取Excel文件和连接数据库的代码,接下来就是将数据导入数据库了。以下是一个完整的示例:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
var excelReader = new ExcelReader();
var sqlDatabase = new SqlDatabase("Data Source=your_server;Initial Catalog=your_database;Integrated Security=True");
var data = excelReader.ReadExcel("path_to_your_excel_file.xlsx");
sqlDatabase.InsertData(data, "your_table_name");
}
}
总结
通过以上步骤,你已经成功地将Excel数据导入SQL数据库。希望本文能帮助你轻松上手.NET开发。在后续的文章中,我们将继续介绍更多.NET开发技巧,敬请期待!
