在C#中实现Excel数据的导入导出,可以使用一些第三方库,如EPPlus、NPOI等。这些库提供了丰富的API,可以方便地操作Excel文件。下面以EPPlus为例,介绍如何实现Excel数据的导入导出。
一、导入Excel数据
- 首先,需要在项目中安装EPPlus库。可以通过NuGet包管理器来安装,命令如下:
Install-Package EPPlus
- 安装完成后,可以在代码中引入EPPlus命名空间:
using OfficeOpenXml;
- 接下来,需要读取Excel文件中的数据。可以使用以下代码来读取Excel文件中的所有工作表:
// 读取Excel文件
FileInfo fileInfo = new FileInfo("example.xlsx");
using (ExcelPackage package = new ExcelPackage(fileInfo))
{
// 获取所有工作表
var worksheetList = package.Workbook.Worksheets;
foreach (var worksheet in worksheetList)
{
// 读取工作表中的数据
var dataTable = worksheet.Cells["A1", "D10"].LoadFromDataTable(null, true);
// 处理数据
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"ID: {row["ID"]}, Name: {row["Name"]}, Age: {row["Age"]}, Gender: {row["Gender"]}");
}
}
}
在上面的代码中,我们首先读取了Excel文件中的所有工作表,然后遍历每个工作表,读取其中的数据并进行处理。
二、导出Excel数据
- 使用EPPlus库导出Excel数据的步骤与导入类似。首先需要创建一个Excel文件,并将数据写入到文件中。以下是一个简单的示例代码:
// 创建一个新的Excel文件 using (ExcelPackage package = new ExcelPackage()) { // 添加一个新的工作表 var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 定义表头 var headers = new[] { "ID", "Name", "Age", "Gender" }; worksheet.Cells["A1"].LoadFromArray(headers, true); // 定义数据 var data = https://www.yisu.com/ask/new[]"Alice", Age = 28, Gender = "Female" }, new { ID = 2, Name = "Bob", Age = 25, Gender = "Male" }, new { ID = 3, Name = "Charlie", Age = 32, Gender = "Male" } }; // 将数据写入到工作表中 worksheet.Cells["A2"].LoadFromArray(data, true); // 保存Excel文件 FileInfo fileInfo = new FileInfo("output.xlsx"); package.SaveAs(fileInfo); }
在上面的代码中,我们首先创建了一个新的Excel文件,并添加了一个工作表。然后定义了表头和数据,并将数据写入到工作表中。最后保存了Excel文件。