C# 將資料寫入 CSV 檔案
Minahil Noor
2023年1月30日
2020年6月9日
CSV 檔案在以有組織的方式儲存資料方面非常有用。你可以使用不同的程式語言在 CSV 檔案中讀寫資料。
在 C# 中,我們有不同的方法來讀取 CSV 檔案並將資料寫入 CSV 檔案。本文重點介紹將資料寫入 CSV 檔案的不同方法。
使用 CsvHelper
類方法將資料寫入 CSV 檔案的 C# 程式
在 C# 中,我們有一個名為 CsvHelper
的庫,用於讀取和寫入 CSV
檔案。預設情況下不提供此庫。因此,我們必須下載它。它提供了諸如 GetRecords
和 WriteRecords
之類的方法來讀寫 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 &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
它給出了幾個異常,例如 ArgumentException
,ArgumentNullException
,PathTooLongException
,DirectoryNotFoundException
,IOException
和 UnauthorizedAccessException
。這些異常可以使用 try-catch
塊來處理。