Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# csvhelper

作者:恋你如初   发布日期:2026-02-17   浏览:53

using System;
using System.Collections.Generic;
using System.IO;
using CsvHelper;
using CsvHelper.Configuration;

public class Program
{
    public static void Main()
    {
        // 创建一个示例列表
        var records = new List<Person>
        {
            new Person { Id = 1, Name = "John", Age = 30 },
            new Person { Id = 2, Name = "Jane", Age = 25 }
        };

        // 使用内存流来模拟文件写入
        using (var writer = new StreamWriter("output.csv"))
        using (var csv = new CsvWriter(writer, new CsvConfiguration(System.Globalization.CultureInfo.InvariantCulture)))
        {
            // 写入记录到CSV文件
            csv.WriteRecords(records);
        }

        // 读取CSV文件
        using (var reader = new StreamReader("output.csv"))
        using (var csv = new CsvReader(reader, new CsvConfiguration(System.Globalization.CultureInfo.InvariantCulture)))
        {
            var config = new CsvConfiguration(System.Globalization.CultureInfo.InvariantCulture)
            {
                HasHeaderRecord = true
            };
            var readRecords = csv.GetRecords<Person>();
            foreach (var person in readRecords)
            {
                Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
            }
        }
    }
}

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

解释说明

  1. 引入命名空间

    • CsvHelperCsvHelper.Configuration 是用于处理 CSV 文件的主要命名空间。
    • System, System.Collections.Generic, 和 System.IO 是常用的 .NET 命名空间。
  2. 创建示例数据

    • 创建了一个包含两个 Person 对象的列表,每个对象有 Id, Name, 和 Age 属性。
  3. 写入 CSV 文件

    • 使用 StreamWriterCsvWriter 将记录写入到 output.csv 文件中。
    • CsvWriter 的构造函数需要一个 StreamWriter 实例和一个 CsvConfiguration 实例。
  4. 读取 CSV 文件

    • 使用 StreamReaderCsvReaderoutput.csv 文件中读取记录。
    • CsvReader 的构造函数同样需要一个 StreamReader 实例和一个 CsvConfiguration 实例。
    • HasHeaderRecord = true 表示 CSV 文件的第一行是列标题。
  5. 输出读取的结果

    • 遍历读取的记录并打印每个 Person 对象的属性值。

通过这段代码,你可以轻松地将 C# 对象序列化为 CSV 文件,并从 CSV 文件中反序列化回对象。

上一篇:c#加密

下一篇:c# jtoken

大家都在看

c# 二进制

c# 创建目录

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站