C# Inscrire les données dans un fichier CSV

Minahil Noor 12 octobre 2023
  1. Programme C# pour écrire des données dans un fichier CSV en utilisant les méthodes de la classe CsvHelper
  2. Programme C# pour écrire des données dans un fichier CSV en utilisant la méthode WriteAllText()
C# Inscrire les données dans un fichier CSV

Les fichiers CSV sont d’une grande utilité pour stocker des données de manière organisée. Vous pouvez écrire et lire des données dans un fichier CSV en utilisant différents langages de programmation.

En C#, nous avons différentes méthodes pour lire un fichier CSV et écrire les données dans un fichier CSV. Cet article se concentre sur les différentes méthodes pour écrire des données dans un fichier CSV.

Programme C# pour écrire des données dans un fichier CSV en utilisant les méthodes de la classe CsvHelper

En C#, nous avons une bibliothèque nommée CsvHelper pour lire et écrire des fichiers CSV. Cette bibliothèque n’est pas fournie par défaut. Nous devons plutôt la télécharger. Elle fournit des méthodes comme GetRecords et WriteRecords pour lire et écrire un fichier CSV. C’est une bibliothèque efficace pour lire et écrire facilement des fichiers CSV.

L’exemple de code suivant montre un programme qui crée un fichier CSV et y écrit des données.

Exemple de code:

using System;
using System.IO;
using System.Text;
using CsvHelper;

namespace CsvExample {
  public class Project {
    public string PersonName { get; set; }
    public string Title { get; set; }
  }

  public class Program {
    static void Main(string[] args) {
      var data = new[] { new Project { CustomerName = "Olivia", Title = "Mother" },
                         new Project { CustomerName = "Lili", Title = "Elder Sister" } };

      using (var mem = new MemoryStream()) using (var writer = new StreamWriter(mem)) using (
          var csvWriter = new CsvWriter(writer)) {
        csvWriter.Configuration.Delimiter = ";";
        csvWriter.Configuration.HasHeaderRecord = true;
        csvWriter.Configuration.AutoMap<Project>();

        csvWriter.WriteHeader<Project>();
        csvWriter.WriteRecords(data);

        writer.Flush();
        var result = Encoding.UTF8.GetString(mem.ToArray());
        Console.WriteLine(result);
      }
    }
  }
}

Production:

PersonName;
Title Olivia;
Mother Lili;
Elder Sister

Programme C# pour écrire des données dans un fichier CSV en utilisant la méthode WriteAllText()

La méthode WriteAllText() crée un fichier, écrit des données dans le fichier et ensuite ferme le fichier. Si le fichier existe déjà, elle réécrit les données dans le fichier.

La syntaxe correcte pour utiliser cette méthode est la suivante:

WriteAllText(StringPath, StringContents);

Exemple de code:

using System;
using System.IO;
using System.Text;

namespace CsvExample {

  public class Program {
    static void Main(string[] args) {
      string strFilePath = @"D:\New folder\Data.csv";
      string strSeperator = ",";
      StringBuilder sbOutput = new StringBuilder();

      int[][] inaOutput = new int[][] { new int[] { 1000, 2000, 3000, 4000, 5000 },
                                        new int[] { 6000, 7000, 8000, 9000, 10000 },
                                        new int[] { 11000, 12000, 13000, 14000, 15000 } };

      int ilength = inaOutput.GetLength(0);
      for (int i = 0; i & amp; lt; ilength; i++)
        sbOutput.AppendLine(string.Join(strSeperator, inaOutput[i]));

      // Create and write the csv file
      File.WriteAllText(strFilePath, sbOutput.ToString());

      // To append more lines to the csv file
      File.AppendAllText(strFilePath, sbOutput.ToString());
    }
  }
}

Production:

// CSV file created in the given directory

Il donne plusieurs exceptions comme ArgumentException, ArgumentNullException, PathTooLongException, DirectoryNotFoundException, IOException et UnauthorizedAccessException. Ces exceptions peuvent être traitées à l’aide d’un bloc try-catch.

Article connexe - Csharp CSV