在C#中實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出,可以使用一些第三方庫,如EPPlus、NPOI等。這些庫提供了豐富的API,可以方便地操作Excel文件。下面以EPPlus為例,介紹如何實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出。
一、導(dǎo)入Excel數(shù)據(jù)
Install-Package EPPlus
using OfficeOpenXml;
// 讀取Excel文件
FileInfo fileInfo = new FileInfo("example.xlsx");
using (ExcelPackage package = new ExcelPackage(fileInfo))
{
// 獲取所有工作表
var worksheetList = package.Workbook.Worksheets;
foreach (var worksheet in worksheetList)
{
// 讀取工作表中的數(shù)據(jù)
var dataTable = worksheet.Cells["A1", "D10"].LoadFromDataTable(null, true);
// 處理數(shù)據(jù)
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"ID: {row["ID"]}, Name: {row["Name"]}, Age: {row["Age"]}, Gender: {row["Gender"]}");
}
}
}
在上面的代碼中,我們首先讀取了Excel文件中的所有工作表,然后遍歷每個(gè)工作表,讀取其中的數(shù)據(jù)并進(jìn)行處理。
二、導(dǎo)出Excel數(shù)據(jù)
// 創(chuàng)建一個(gè)新的Excel文件
using (ExcelPackage package = new ExcelPackage())
{
// 添加一個(gè)新的工作表
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 定義表頭
var headers = new[] { "ID", "Name", "Age", "Gender" };
worksheet.Cells["A1"].LoadFromArray(headers, true);
// 定義數(shù)據(jù)
var data = new[]
{
new { ID = 1, Name = "Alice", Age = 28, Gender = "Female" },
new { ID = 2, Name = "Bob", Age = 25, Gender = "Male" },
new { ID = 3, Name = "Charlie", Age = 32, Gender = "Male" }
};
// 將數(shù)據(jù)寫入到工作表中
worksheet.Cells["A2"].LoadFromArray(data, true);
// 保存Excel文件
FileInfo fileInfo = new FileInfo("output.xlsx");
package.SaveAs(fileInfo);
}
在上面的代碼中,我們首先創(chuàng)建了一個(gè)新的Excel文件,并添加了一個(gè)工作表。然后定義了表頭和數(shù)據(jù),并將數(shù)據(jù)寫入到工作表中。最后保存了Excel文件。