當前位置: 妍妍網 > 碼農

CsvHelper:一個輕便高效能的Csv檔讀寫操作開源庫!

2024-06-03碼農

Csv是一種非常常見的檔格式,采用純文本格式,不依賴於任何特定的軟體或資料庫,且檔體積小,易於使用。平常計畫開發中,需要都會采用這種格式,這就涉及到Csv檔的讀寫操作。

下面介紹一個輕便高效能的Csv檔讀寫操作開源庫。

01

計畫簡介

CsvHelper 是一個.Net開源庫,這是一個強大且易於使用的工具,使得開發者可以非常方便處理 Csv檔。方便我們套用於數據匯入匯出、數據遷移、報告生成等一些套用場景。

02

計畫特點

簡單的API: 提供了直觀的 API 來讀取和寫入 CSV 檔,使得處理 CSV 數據變得更加容易。

靈活的對映: 可以輕松地將 CSV 數據對映到 .NET 物件,反之亦然,這使得數據交換和持久化變得簡單。

強大的解析能力: 支持復雜的 CSV 檔解析,包括帶標題的檔、動態型別處理等。

廣泛的支持: 適用於多種 .NET 平台,基於.NET Standard 2.0開發的。

03

使用方法

1、安裝依賴庫

Install-Package CsvHelper

2、寫入Csv檔

using CsvHelper;using System.Globalization;//數據var records = new List<Foo>{new Foo { Id = 1, Name = "one" },new Foo { Id = 2, Name = "two" },};//寫入檔using (var writer = new StreamWriter(AppContext.BaseDirectory + "file.csv"))using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)){ csv.WriteRecords(records);}///<summary>/// 模型定義///</summary>public classFoo{publicint Id { get; set; }publicstring Name { get; set; }}

效果如下:

3、讀取Csv檔

using CsvHelper;using CsvHelper.Configuration;using CsvHelper.Configuration.Attributes;using System.Globalization;//讀取檔using (var reader = new StreamReader(AppContext.BaseDirectory + "file.csv"))using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)){ csv.Context.Register classMap<FooMap>();var records = csv.GetRecords<Foo>(); foreach(var record in records) { Console.WriteLine("Id:" + record.Id + ", Name:"+ record.Name); }}/// <summary>/// 對映規則/// </summary>public class FooMap : classMap<Foo>{public FooMap() { Map(m => m.Id); Map(m => m.Name); }}/// <summary>/// 模型定義/// </summary>public class Foo{public int Id { get; set; }publicstring Name { get; set; }}

效果如下:

04

計畫地址

https://github.com/JoshClose/CsvHelper

最後推薦加入我的 裏麵包含7個教程,其中有:【 三層架構教程 】與【DDD 領域驅動設計架構教程 】。

- End -

分享一套.NetCore從入門到精通視訊教程

點選下方公眾號卡片,關註我

回復「 888 」,免費領取

推薦閱讀

覺得好看 點個在看👇