首页
学习
活动
专区
工具
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类仅用于演示目的。您可以将其替换为您自己的类。

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

相关·内容

ExtjsGridPanel中的数据导出到Excel的方法

前些时间老大说客户要求提供表格中的数据导出到Excel中,因为有时候他们需要将价格资料导出以便制作报价表,于是上网找了一些资料,发现网上其实有很多例子都有浏览器兼容性的问题,于是自己整合,改进之后,终于能兼容支持和浏览器了...,遂在这里与大家分享、交流: 首先你需要一个GridPanel的数据转换成标准Excel格式的JS文件,文件内容如下(貌似CSDN博客不支持上传文件给大家下载,所以唯有直接贴代码了): // JavaScript...Document /** * allows for downloading of grid data (store) directly into excel * Method: extracts...} } t += ''; } result.xml = t + '</ss...所以 我把它做成在用户点击了“导出到EXCEL”按钮的时候才去加载这个JS文件

1.1K10
  • DAX Studio可以PBI数据直接导出到Excel,但这个问题你要知道!

    此前,我曾写过多篇关于从Power BI导出数据的文章,如: 怎么PP或PBI里的数据导出到Excel文件? 要导出所有Power BI数据表?用DAX Studio一键搞定!...Excel,但是这个方法有个bug,需要注意。...里选Excel文件(注意如果前面直接打开DAX Studio而不是通过Excel打开,则无此选项) Step-04 选择导出数据存放在Excel中的哪个工作表,然后写导出公式: 运行后...,相应的数据导入指定的Excel表中,如下图所示: - 问题 - 上面的方法在数据导出Excel的时候非常方便,但是,有一个问题大家一定要注意,即导出的数据里,如果有数值型的文本,...如上面的例子里导出的产品信息,其产品代码其实是2位文本,如下图所示: 导出后,结果变成了数字: 总的来说,PBI数据导出Excel的各种方法均有优缺点,大家根据自己的数据情况灵活使用即可

    2.3K30

    java数据导出为excel表格_数据库表中数据导出到文本文件

    公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两张表都导入数据库中...){ t1 += t.get(j); } else break; } for(int j=0;j<t.size();j++){ if(t.get(j).charAt(0)==40){ for...(int k=j+1;k<t.size();k++){ if(type.charAt(k) >= 48 && type.charAt(k) <= 57){ t2 += t.get(k); } }...createtablesql.append(AddTip); CT.delete(0,CT.length()); AddTip.delete(0,AddTip.length()); } } } //输出到文本文件...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站立刻删除。

    3.2K40

    LINQ之GroupBy

    我们要分组的集合为source,集合内每个元素的类型为TSource,这里第一个参数keySelector的类型为Func,用于TSource元素按照由此委托返回的类型TKey...首先,personList更改如下(下划线部分): List personList = new List { new...以上代码分组后的内容(一个是TKey,为p.Gender,另外一个是IEnumerable,为IEnumerable)作为字符串输出,因此,返回的类型为字符串集合。...{ Console.WriteLine(result); } 以上代码将使用Gender分组,并将分组后的信息组合成一条字符串,并输出到控制台...Console.WriteLine(result); } 以上代码将使用Person分组,使用Person比较器作为分组的依据,并将分组后的信息组合成一条字符串,并输出到控制台

    1.9K30

    .NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)

    如果我们从继承IEnumerable对象扩展,那么情况会有点小复杂,你的扩展方法中要扩展的对象一定要具体的给出对象的定义才行,如果你扩展的对象不能和继承的对象保持一直,那么你断掉所有的扩展方法。...如果我们是直接使用系统提供的IEnumerable对象的话,只需要构建IEnumerable对象的扩展方法就能实现对集合类型的扩展。...2.3】.详细的对象结构图 这个小结主要将IEnumerable及它的扩展方法包括Linq的查询进行一个完整的结构分析,将给出详细的对象结构图。 对象静态模型、运行时图: ?...IQueryable并非IEnumerable对象,无法实时的做出处理然后结果返回给下一个方法接着执行。那么它如何片段性的执行方法串成一个整的、完整的查询?...这是问题的重点,对扩展方法、链式编程不熟悉的朋友很难source能串联到之前方法所返回的IQueryable对象上。

    1.4K11

    MindManager21全新版思维图工具介绍

    该软件有着独特的核心映射功能,可以帮助用户轻松的对数据信息进行管理,操作十分简单,即使你是个新手小白用户,没有任何的专业知识也能轻松信息进行整合,十分方便。...MindManager思维图适用人群商业人士进行决策分析和项目管理职场达人提升工作效率,高效展开工作教育精英思维图能调动学生的学习积极性学生群体帮助有效记忆,提高学习效率MindManager21功能介绍...Microsoft Office集成同Microsoft 软件无缝集成,快速将数据导入或导出到Microsoft Word、 Excel、OPML、图像、CSV电子表格。...思维图共享可以您的思维图通过Email方式发送给朋友或同事,也可以发布为HTML并上传到Internet或Web站点上。可编辑的提纲视图以提纲形式浏览和编辑map图形。...MindManager21版图作用思维图组织结构图流程图鱼骨图甘特图时间轴矩阵图1、双击运行“MindManager 21”安装原程序,勾选安装协议。2、设置用户名和公司名称,默认即可。

    2.2K00

    MindManager专业版2022思维图工具

    思维图能有效地激发联想,实现思维暂存,使用这款软件来帮助你发散思维,整理信息吧,用一次就会爱上!思维图工具是一款多功能思维图软件,提供了在思维图和流程图中可视化信息的方法。...凭借一系列令人印象深刻的强大功能和用户友好的界面,用户可以想法和战略计划可视化地显示为专业外观的思维图。...MindManager2022主要特点:虚拟白板,直观地捕捉信息创建、组织和优先处理任务和信息创建需求、项目时间表和假设所有链接、笔记和文档附加到思维图中适用于大多数流行的Microsoft Office...MindManager2022软件特性:Microsoft Office集成同Microsoft 软件无缝集成,快速将数据导入或导出到Microsoft Word、 Excel、OPML、图像、CSV电子表格...思维图共享可以您的思维图通过Email方式发送给朋友或同事,也可以发布为HTML并上传到Internet或Web站点上。可编辑的提纲视图以提纲形式浏览和编辑map图形。

    3.2K20
    领券