C# で CSV ファイルにデータを書き込む
Minahil Noor
2023年1月30日
2020年6月10日
Csharp
Csharp CSV
-
CsvHelper
クラスのメソッドを使用してCSV
ファイルにデータを書き込む C# プログラム -
WriteAllText()
メソッドを使用してデータをCSV
ファイルに書き込む C# プログラム

CSV
ファイルは整理された方法でデータを保存するのに非常に役立ちます。さまざまなプログラミング言語を使用して、CSV
ファイルとの間でデータを読み書きできます。
C# では、CSV
ファイルを読み取ったり、CSV
ファイルにデータを書き込んだりするためのさまざまな方法があります。この記事では、CSV
ファイルにデータを書き込むさまざまな方法に焦点を当てています。
CsvHelper
クラスのメソッドを使用して CSV
ファイルにデータを書き込む C# プログラム
C# には、CSV
ファイルを読み書きするための CsvHelper
という名前のライブラリがあります。このライブラリはデフォルトでは提供されていません。むしろ、ダウンロードする必要があります。これは、CSV
ファイルを読み書きするための GetRecords
や WriteRecords
のようなメソッドを提供します。これは 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
WriteAllText()
メソッドを使用してデータを CSV
ファイルに書き込む C# プログラム
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
ブロックを使用して処理できます。