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 CSVpembaca 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 DataGridViewke 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.