ホームページ >バックエンド開発 >C++ >C# で DataTable を CSV ファイルに正しく変換するにはどうすればよいですか?

C# で DataTable を CSV ファイルに正しく変換するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-15 15:46:50467ブラウズ

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 の Select メソッドと string.Join メソッドを利用して、列ヘッダーとデータ行の両方のカンマ区切り文字列を効率的に作成します。 File.WriteAllText を使用すると、CSV データが指定されたファイルに確実に書き込まれます。 field?.ToString() ?? "" を追加すると、潜在的な null 値が適切に処理されます。

特殊文字の引用符のエスケープやメモリ最適化技術などのさらなる機能強化は、特定のアプリケーションのニーズに応じて統合できます。

以上がC# で DataTable を CSV ファイルに正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。