Menulis fail CSV dalam C#: Menyelesaikan masalah overwrite
Apabila menulis fail CSV dalam C#, masalah biasa ialah hanya baris terakhir ditulis. Ini kerana setiap lelaran gelung menimpa kandungan sedia ada dalam fail.
Untuk menyelesaikan masalah ini, setiap baris mesti dilampirkan pada fail CSV dan bukannya menimpanya. Untuk melakukan ini, cipta objek StringBuilder dan tambahkan baris baharu padanya dalam gelung. Selepas gelung selesai, keseluruhan kandungan StringBuilder ditulis ke fail CSV.
Berikut ialah contoh fungsi yang diperbetulkan:
<code class="language-csharp">var csv = new StringBuilder(); string first = reader[0].ToString(); string second = image.ToString(); csv.AppendLine(string.Format("{0},{1}", first, second)); File.WriteAllText(filePath, csv.ToString());</code>
Sebagai alternatif, anda boleh menggunakan kaedah Fail.AppendAllText:
<code class="language-csharp">string newLine = string.Format("{0},{1}", first, second); File.AppendAllText(filePath, newLine);</code>
Ini akan menambahkan baris baharu pada fail sedia ada tanpa menulis ganti kandungannya.
Cara lain untuk menulis fail CSV ialah menggunakan pustaka CsvHelper. Pustaka ini memudahkan proses ini dengan mengendalikan penukaran jenis, pelarian rentetan dan kerumitan lain yang dikaitkan dengan fail CSV.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penimpaan Semasa Menulis Data ke Fail CSV dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!