在 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 的 Select
和 string.Join
方法有效地為列標題和資料行建立逗號分隔的字串。 使用 File.WriteAllText
確保 CSV 資料寫入指定檔案。 添加 field?.ToString() ?? ""
可以優雅地處理潛在的空值。
可以根據特定的應用程式需求整合進一步的增強功能,例如轉義特殊字元的引號或記憶體最佳化技術。
以上是如何在 C# 中正確地將 DataTable 轉換為 CSV 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!