當前位置: 妍妍網 > 碼農

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 」,免費領取

推薦閱讀

覺得好看 點個在看👇