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() ?? ""
を追加すると、潜在的な null 値が適切に処理されます。
特殊文字の引用符のエスケープやメモリ最適化技術などのさらなる機能強化は、特定のアプリケーションのニーズに応じて統合できます。
以上がC# で DataTable を CSV ファイルに正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。