将IEnumerable <T>导出到Excel是指将一个C#中的IEnumerable <T>集合导出到Excel文件中。IEnumerable <T>是一个泛型接口,它表示一个可以迭代的对象集合,例如列表或数组。在C#中,可以使用LINQ查询或其他方法来操作IEnumerable <T>集合。
要将IEnumerable <T>导出到Excel,可以使用第三方库,例如ClosedXML或EPPlus。这些库可以帮助您创建和操作Excel文件。以下是一个使用ClosedXML库将IEnumerable <T>导出到Excel的示例:
Install-Package ClosedXML
using System.Collections.Generic;
using System.IO;
using ClosedXML.Excel;
public static class ExcelExporter
{
public static XLWorkbook ToExcel<T>(this IEnumerable<T> items, string sheetName = "Sheet1")
{
var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add(sheetName);
var properties = typeof(T).GetProperties();
// Add header row
var headerRow = worksheet.Row(1);
var colIndex = 1;
foreach (var property in properties)
{
headerRow.Cell(colIndex).Value = property.Name;
colIndex++;
}
// Add data rows
var rowIndex = 2;
foreach (var item in items)
{
var dataRow = worksheet.Row(rowIndex);
colIndex = 1;
foreach (var property in properties)
{
dataRow.Cell(colIndex).Value = property.GetValue(item);
colIndex++;
}
rowIndex++;
}
return workbook;
}
}
var items = new List<Person>
{
new Person { Name = "John Doe", Age = 30 },
new Person { Name = "Jane Doe", Age = 25 }
};
var workbook = items.ToExcel();
workbook.SaveAs("ExportedItems.xlsx");
这将创建一个名为“ExportedItems.xlsx”的Excel文件,其中包含一个名为“Sheet1”的工作表,其中包含列标题和数据行。
请注意,此示例中使用的Person类仅用于演示目的。您可以将其替换为您自己的类。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云