C#中寫入CSV檔案多行資料的方法
在C#中向CSV檔案寫入多行資料時,常會遇到只保留最後一行資料的問題。這是因為程式碼在每次寫入新行時都會覆蓋現有資料。
為了解決這個問題,可以使用StringBuilder
屬性,如下所示:
<code class="language-csharp">var csv = new StringBuilder(); // 循环遍历每一行数据 foreach (var row in dataRows) { var first = row[0].ToString(); var second = row[1].ToString(); // 将值连接成新的一行 var newLine = $"{first},{second}"; // 将新的一行添加到StringBuilder csv.AppendLine(newLine); } // 将完整的CSV数据写入文件 File.WriteAllText(filePath, csv.ToString());</code>
透過將CSV內容收集到StringBuilder
中,並在處理完所有行後才一次性寫入文件,可以確保每一行都追加到文件中,從而生成格式正確的包含多行的CSV文件。
這種方法比手動追加每一行更有效率,因為它最大限度地減少了檔案寫入次數,這對於大型資料集可以顯著提高效能。
以上是如何在 C# 中將多行寫入 CSV 檔案而不覆蓋資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!