首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将IEnumerable <T>导出到Excel

将IEnumerable <T>导出到Excel是指将一个C#中的IEnumerable <T>集合导出到Excel文件中。IEnumerable <T>是一个泛型接口,它表示一个可以迭代的对象集合,例如列表或数组。在C#中,可以使用LINQ查询或其他方法来操作IEnumerable <T>集合。

要将IEnumerable <T>导出到Excel,可以使用第三方库,例如ClosedXML或EPPlus。这些库可以帮助您创建和操作Excel文件。以下是一个使用ClosedXML库将IEnumerable <T>导出到Excel的示例:

  1. 首先,安装ClosedXML库。在NuGet包管理器中,运行以下命令:
代码语言:txt
复制
Install-Package ClosedXML
  1. 然后,创建一个名为ExcelExporter的静态类,并添加一个名为ToExcel的扩展方法:
代码语言:csharp
复制
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;
    }
}
  1. 现在,您可以使用以下代码将IEnumerable <T>集合导出到Excel文件:
代码语言:csharp
复制
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类仅用于演示目的。您可以将其替换为您自己的类。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券