首頁 >後端開發 >C++ >如何在 C# 中正確地將 DataTable 轉換為 CSV 檔案?

如何在 C# 中正確地將 DataTable 轉換為 CSV 檔案?

DDD
DDD原創
2025-01-15 15:46:50463瀏覽

How Can I Correctly Convert a DataTable to a CSV File in C#?

在 C# 中有效率地將 DataTable 轉換為 CSV

本文示範了一種將 C# DataTable 物件轉換為逗號分隔值 (CSV) 檔案的可靠方法。 最初的方法存在適當的資料分離問題;該解決方案提供了一種糾正和改進的方法。

這是最佳化後的程式碼:

<code class="language-csharp">StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = dt.Columns.Cast<DataColumn>().Select(column => column.ColumnName);
sb.AppendLine(string.Join(",", columnNames));

foreach (DataRow row in dt.Rows)
{
    IEnumerable<string> fields = row.ItemArray.Select(field => field?.ToString() ?? ""); //Handle null values
    sb.AppendLine(string.Join(",", fields));
}

File.WriteAllText("test.csv", sb.ToString());</code>

此程式碼透過將資料正確分隔到 CSV 檔案中的各個儲存格中解決了最初的問題。 它利用 LINQ 的 Selectstring.Join 方法有效地為列標題和資料行建立逗號分隔的字串。 使用 File.WriteAllText 確保 CSV 資料寫入指定檔案。 添加 field?.ToString() ?? "" 可以優雅地處理潛在的空值。

可以根據特定的應用程式需求整合進一步的增強功能,例如轉義特殊字元的引號或記憶體最佳化技術。

以上是如何在 C# 中正確地將 DataTable 轉換為 CSV 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn