C# 中寫入 CSV 檔案:解決覆蓋問題
在 C# 中寫入 CSV 檔案時,常見的問題是只寫入最後一行。這是因為循環的每次迭代都會覆蓋文件中的現有內容。
為了解決這個問題,必須將每一行追加到 CSV 檔案中,而不是覆寫它。為此,請建立一個 StringBuilder 對象,並在循環中向其中追加新行。循環完成後,將整個 StringBuilder 的內容寫入 CSV 檔案。
以下是一個修正後的函數範例:
<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>
或者,您可以使用 File.AppendAllText 方法:
<code class="language-csharp">string newLine = string.Format("{0},{1}", first, second); File.AppendAllText(filePath, newLine);</code>
這會將新行追加到現有文件中,而不會覆蓋其內容。
另一種寫入 CSV 檔案的方法是使用 CsvHelper 函式庫。此程式庫透過處理類型轉換、字串轉義以及與 CSV 檔案相關的其他複雜性來簡化此過程。
以上是C# 向 CSV 檔案寫入資料時如何防止覆蓋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!