Hi, I'm MalekBenz. I author this blog, I'm FullStack Developer, create courses & love learning, writing, teaching technology. ( Javascript, C#, ASP.NET , NodeJS, SQL Server )

Reading and Writing CSV files using CsvHelper

08 Sep 2017

  • Category:C#
  • tags:C# and CsvHelper
  • Time:08 Sep 2017

CsvHelper is .NET library for reading and writing CSV files. Extremely fast, flexible and easy to use. Supports reading and writing of custom class objects.

Simple application

Create a new Console application & install CsvHelper by running the following from the Package Manager Console.

Install-Package CsvHelper

A Person Class

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

Reading function

        static void ReadCsvFile(string filename)
            TextReader textReader = File.OpenText(filename);
            var csv = new CsvReader(textReader);

            var people = csv.GetRecords<Person>();

            foreach (var person in people)
                Console.WriteLine($"Name {person.Name} age : {person.Age}");


Writing function

        static void WriteCsvFile(string filename, IEnumerable<Person> people)
            TextWriter textWriter = File.CreateText(filename);

            var csvWriter = new CsvWriter(textWriter);



Main function

        static void Main(string[] args)
            var filename = Directory.GetCurrentDirectory() + @"\file.csv";
            List<Person> list = new List<Person>() {
                new  Person(){Name= "Ronaldo", Age= 29},
                new  Person(){Name= "Missi", Age= 28}

            WriteCsvFile(filename, list);


NOTE: For more informations , please see CsvHelper.


That’s it see you soon!.