在这个数字化时代,数据管理变得尤为重要。而Excel作为最常见的电子表格工具,经常被用来存储和整理数据。将Excel数据导入数据库是日常工作中常见的任务。在本指南中,我将带你轻松上手使用.NET框架高效导入Excel数据到数据库。
一、准备工作
在开始之前,请确保以下准备工作已完成:
- 安装.NET开发环境:下载并安装.NET SDK,以便使用.NET开发工具。
- 创建数据库:在数据库中创建相应的表,确保字段类型与Excel数据格式匹配。
- 安装必要的库:使用NuGet包管理器安装以下库:
- EPPlus:用于读取和写入Excel文件。
- Dapper:一个高性能的对象关系映射(ORM)库。
using NuGet Package Manager Console
Install-Package EPPlus
Install-Package Dapper
二、读取Excel数据
首先,我们需要读取Excel文件中的数据。以下是一个使用EPPlus库读取Excel文件的示例:
using OfficeOpenXml;
using System;
using System.Data;
using System.IO;
public DataTable ReadExcelData(string filePath)
{
DataTable dataTable = new DataTable();
using (var package = new ExcelPackage(new FileInfo(filePath)))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
DataTable tempTable = new DataTable();
foreach (var firstRowCell in worksheet.Cells[1, 1, 1, worksheet.Dimension.End.Column])
{
tempTable.Columns.Add(firstRowCell.Text);
}
for (int rowNum = 2; rowNum <= worksheet.Dimension.End.Row; rowNum++)
{
var wsRow = worksheet.Cells[rowNum, 1, rowNum, worksheet.Dimension.End.Column];
DataRow row = tempTable.NewRow();
foreach (var cell in wsRow)
{
row[cell.Start.Column - 1] = cell.Text;
}
tempTable.Rows.Add(row);
}
dataTable = tempTable;
}
return dataTable;
}
三、将数据导入数据库
接下来,我们将使用Dapper库将读取到的数据导入数据库。以下是一个示例:
using Dapper;
using System.Data.SqlClient;
public void ImportDataToDatabase(string connectionString, DataTable dataTable)
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (DataRow row in dataTable.Rows)
{
connection.Execute("INSERT INTO YourTable (Column1, Column2, ...) VALUES (@Column1, @Column2, ...)", row);
}
}
}
四、完整示例
以下是一个完整的示例,展示了如何将Excel数据导入数据库:
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string excelFilePath = @"C:\path\to\your\excel\file.xlsx";
string connectionString = "your_connection_string";
DataTable dataTable = ReadExcelData(excelFilePath);
ImportDataToDatabase(connectionString, dataTable);
Console.WriteLine("数据导入成功!");
}
public static DataTable ReadExcelData(string filePath)
{
// ... (与前面相同)
}
public static void ImportDataToDatabase(string connectionString, DataTable dataTable)
{
// ... (与前面相同)
}
}
五、总结
通过本文的介绍,相信你已经掌握了使用.NET框架高效导入Excel数据到数据库的方法。在实际应用中,你可以根据具体需求调整代码,以满足不同的业务场景。希望这篇指南能帮助你轻松上手,提高工作效率!
