C# 將資料寫入 CSV 檔案

Minahil Noor 2023年10月12日
  1. 使用 CsvHelper 類方法將資料寫入 CSV 檔案的 C# 程式
  2. C# 使用 WriteAllText() 方法將資料寫入 CSV 檔案
C# 將資料寫入 CSV 檔案

CSV 檔案在以有組織的方式儲存資料方面非常有用。你可以使用不同的程式語言在 CSV 檔案中讀寫資料。

在 C# 中,我們有不同的方法來讀取 CSV 檔案並將資料寫入 CSV 檔案。本文重點介紹將資料寫入 CSV 檔案的不同方法。

使用 CsvHelper 類方法將資料寫入 CSV 檔案的 C# 程式

在 C# 中,我們有一個名為 CsvHelper 的庫,用於讀取和寫入 CSV 檔案。預設情況下不提供此庫。因此,我們必須下載它。它提供了諸如 GetRecordsWriteRecords 之類的方法來讀寫 CSV 檔案。這是一個高效的庫,可輕鬆讀取和寫入 CSV 檔案。

以下示例程式碼顯示了一個程式,該程式建立一個 CSV 檔案並將資料寫入其中。

示例程式碼:

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

輸出:

PersonName;Title
Olivia;Mother
Lili;Elder Sister

C# 使用 WriteAllText() 方法將資料寫入 CSV 檔案

WriteAllText() 方法建立一個檔案,將資料寫入該檔案,然後關閉該檔案。如果檔案已經存在,則它將覆蓋檔案中的資料。

使用此方法的正確語法如下:

WriteAllText(StringPath, StringContents);

示例程式碼:

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

輸出:

//CSV file created in the given directory

它給出了幾個異常,例如 ArgumentExceptionArgumentNullExceptionPathTooLongExceptionDirectoryNotFoundExceptionIOExceptionUnauthorizedAccessException。這些異常可以使用 try-catch 塊來處理。

相關文章 - Csharp CSV