C#に [〜#〜] csv [〜#〜] リーダー/ライターライブラリはありますか?
CsvHelper を試してください。 FastCsvReaderと同じくらい使いやすく、書き込みも行います。私は過去にFastCsvReaderに非常に満足していますが、書き込みを行うものが必要であり、FileHelpersには満足していませんでした。
読み取り:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
書き込み:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
完全な開示:私はこのライブラリの著者です。
フレームワーク自体にいくつかのオプションがあります。
最も簡単な方法の1つは、Microsoft.VisualBasicを参照してから TextFieldParser を使用することです。コアフレームワークの完全に機能するCSVリーダーです。
もう1つの優れた代替手段は、 CSVファイルの読み取りにデータセットを使用 です。
Sebastien LorionのCodeProjectには、 A Fast CSV Reader と呼ばれる素晴らしいCSV
リーダーがあります。おそらくC#にとって最高の1つであり、無料です。
書く限り、StreamWriter
を使用してください。
DataGridView
をファイルに書き込むための定型的なコードを次に示します。
private void exportDGVToCSV(string filename)
{
if (dataGridView1.Columns.Count != 0)
{
using (Stream stream = File.OpenWrite(filename))
{
stream.SetLength(0);
using (StreamWriter writer = new StreamWriter(stream))
{
// loop through each row of our DataGridView
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string line = string.Join(",", row.Cells.Select(x => $"{x}"));
writer.WriteLine(line);
}
writer.Flush();
}
};
}
}
はい-あなたは実際に詳細を求めていると思いますか?
試す FileHelpers
たくさんあります。
http://www.filehelpers.net/ は最も一般的なものの1つです。
私は、いくつかのシナリオでFilehelpersを制限していると言い、代わりに The Fast CSV Reader を使用します。私の経験では、CSVファイルの形式がわからない場合、または実行時までマッピングをインポートする場合は、これが使用に適したライブラリです。