Jawaban:
Coba CsvHelper . Ini mudah digunakan sebagai FastCsvReader dan juga menulis. Saya sangat senang dengan FastCsvReader di masa lalu, tetapi saya membutuhkan sesuatu yang juga menulis, dan tidak senang dengan FileHelpers.
Bacaan:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
Penulisan:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
Pengungkapan Penuh: Saya adalah penulis perpustakaan ini.
WriteField
. Periksa dokumennya di
CsvHelper
. Mungkin itu bisa menawarkan beberapa strategi membaca alternatif di tempat itu?
Ada beberapa opsi, tepat di kerangka itu sendiri.
Salah satu cara termudah adalah dengan Referensi Microsoft.VisualBasic, lalu gunakan TextFieldParser . Ini adalah pembaca CSV yang berfungsi penuh dalam kerangka inti.
Alternatif bagus lainnya adalah menggunakan set data untuk membaca file CSV .
Sebastien Lorion memiliki CSV
pembaca hebat di CodeProject yang disebut A Fast CSV Reader . Mungkin salah satu yang terbaik untuk C # dan gratis.
Sejauh menulis, gunakan saja StreamWriter
.
Berikut beberapa kode boilerplate untuk menulis a DataGridView
ke file:
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();
}
};
}
}
Ya - meskipun saya berasumsi Anda benar-benar menanyakan secara spesifik?
Coba FileHelpers
Ada lusinan.
http://www.filehelpers.net/ adalah salah satu yang paling umum.
Saya harus mengatakan bahwa saya menemukan Filehelpers membatasi dalam beberapa skenario, dan sebagai gantinya menggunakan The Fast CSV Reader . Menurut pengalaman saya, jika Anda tidak mengetahui format file CSV atau mengimpor pemetaan hingga waktu proses - ini adalah pustaka yang lebih baik untuk digunakan.
.net csv library
. Bukti, meskipun anekdot, untuk klaim saya adalah bahwa pertanyaan ini telah dilihat lebih dari 22000 kali dalam enam tahun terakhir.