当前位置: 欣欣网 > 码农

LinqToExcel:轻松使用Linq操作Excel文件!

2024-07-07码农

推荐一个开源项目,使得我们可以使用LINQ语法来查询、修改Excel文件

中的数据,极大地简化了Excel数据的处理过程。

01

项目简介

LinqToExcel 是一个 .NET 库,它允许开发者使用 LINQ语法来查询 Excel 电子表格和 CSV 文件中的数据,开发者可以像操作数据库一样方便地处理Excel文件。

不过要注意的是需要安装 Microsoft Access Database Engine 2010 Redistributable,这里需要Excel文件所需的数据引擎。

02

项目核心功能

1、LINQ 语法支持:允许使用 LINQ 语法查询 Excel 电子表格和 CSV 文件中的数据。

2、查询:可通过默认工作表 "Sheet1" 或通过名称指定的工作表,查询数据。

3、属性 映射 到列:支持将 Excel 列名映射到 .NET 类的属性,包括使用 AddMapping() 方法或 ExcelColumn 属性。

4、动态类型查询:通过 LinqToExcel.Row 类,可以在不预先定义类的情况下查询工作表,并通过字符串索引访问单元格值。

5、支持查询没有列标题的工作表,通过索引获取单元格值。

6、支持命名范围查询:可以针对工作表中的命名范围进行查询。

7、特定单元格范围查询:允许查询工作表中定义的特定单元格范围。

8、CSV 文件查询:CSV文件支持与Excel相同的查询操作。

9、元数据检索:能够检索工作表名称和列名,方便获取电子表格结构。

10、映射严格性设置:通过 StrictMapping 属性,可以设置映射的严格性,确保数据映射的正确性。

11、未映射列值保留:在适当的映射严格性设置下,可以通过实现 IContainsUnmappedCells 接口保留未映射的列值。

12、数据库引擎选择:允许手动设置使用 Jet 或 Ace 数据库引擎,以适应不同的 Excel 文件格式。

13、空白处理:提供去除单元格值前后空白的功能。

14、持久连接:支持持久连接,允许在整个应用程序中重用同一个数据库连接。

15、支持只读模式:支持以只读模式打开 Excel 文件,避免对文件的意外修改。

16、延迟加载:支持延迟加载数据,即按需逐行读取数据,而不是一次性加载到内存中。

03

使用方法

1、安装依赖

Install-Package LinqToExcelInstall-Package System.Data.OleDb

2、使用示例

using LinqToExcel;//打开文件var excel = new ExcelQueryFactory("1.xlsx");//LINQ查询var indianaCompanies = from c in excel.Worksheet<Company>()where c.State == "IN"select c;//遍历输出foreach(var company in indianaCompanies){ Console.WriteLine(company.ID);}//映射的实体 classCompany{publicint ID { get; set; }publicstring State { get; set; }}

04

项目地址

https://github.com/paulyoder/LinqToExcel

- End -

分享一套.NetCore从入门到精通视频教程

点击下方公众号卡片,关注我

回复「 888 」,免费领取

推荐阅读

觉得好看 点个在看👇