CsvHelper:一个轻便高性能的Csv文件读写操作开源库!

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
{
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);
}

/// /// 模型定义 ///
public class Foo
{
public int Id { get; set; }
public string 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.RegisterClassMap();
var records = csv.GetRecords();
foreach(var record in records)
{
Console.WriteLine(“Id:” + record.Id + “, Name:”+ record.Name);
}
}

/// /// 映射规则 ///
public class FooMap : ClassMap
{
public FooMap()
{
Map(m => m.Id);
Map(m => m.Name);
}
}

/// /// 模型定义 ///
public class Foo
{
public int Id { get; set; }

public string Name { get; set; }

}
效果如下:

04
项目地址
https://github.com/JoshClose/CsvHelper
最后推荐加入我的 知识星球,里面包含7个教程,其中有:《三层架构教程》与《DDD领域驱动设计架构教程》。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/416930.html

(0)
联系我们
联系我们
分享本页
返回顶部