回答:
CsvHelperを試してください。FastCsvReaderと同じくらい簡単に使用でき、書き込みも行います。私は過去にFastCsvReaderに非常に満足していましたが、書き込みも行う何かが必要で、FileHelpersには満足していませんでした。
読書:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
書き込み:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
完全な開示:私はこのライブラリの作成者です。
WriteField
。こちらのドキュメントを確認してくださいjoshclose.github.io/CsvHelper
CsvHelper
。おそらくそれはその場でいくつかの代替の読み取り戦略を提供できるでしょうか?元の
フレームワーク自体には、いくつかのオプションがあります。
最も簡単な方法の1つは、Microsoft.VisualBasicを参照してから、TextFieldParserを使用することです。コアフレームワークで完全に機能するCSVリーダーです。
別の良い代替手段は、データセットを使用してCSVファイルを読み取ることです。
Sebastien Lorionには、CSV
CodeProjectでA Fast CSV Readerと呼ばれる優れたリーダーがあります。おそらく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ファイルまたはインポートマッピングの形式がわからない場合-これは使用するのに適したライブラリです。
.net csv library
。逸話的ではあるが、私の主張としての証拠は、この質問が過去6年間で22000回以上閲覧されたということです。