NuGetパッケージマネージャーからインストールできるCSVアクセス用ライブラリ。
手作りするよりいいかと思って利用してみたけど、なんやと手間取った・・・。
マニュアル(英語)
とりあえずサンプル
読み込み
HasHeaderRecordをfalseにしないと、一番上の行を読み飛ばしちゃう
List<string> seenUids = new List<string>(); // 読込stringリスト
// 保存しているstringを読込
string filename = "seenUids.csv";
FileStream rfs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite);
try
{
Encoding enc = Encoding.GetEncoding("Shift_JIS");
StreamReader reader = new StreamReader(rfs, enc);
CsvHelper.CsvReader csvhelper = new CsvHelper.CsvReader(reader);
csvhelper.Configuration.HasHeaderRecord = false;
while (csvhelper.Read())
{
seenUids.Add(csvhelper.GetField<string>(0));
}
reader.Close();
}
catch (Exception ex)
{
}
finally
{
rfs.Close();
}
書き込み
// 保存しているstringを書き込み
FileStream wfs = new FileStream(filename, FileMode.Truncate, FileAccess.Write);
try
{
StreamWriter writer = new StreamWriter(wfs);
CsvHelper.CsvWriter csvhelper = new CsvHelper.CsvWriter(writer);
foreach (string item in seenUids)
{
csvhelper.WriteField(item);
csvhelper.NextRecord();
}
writer.Close();
}
catch (Exception ex)
{
}
finally
{
wfs.Close();
}