26

重複の可能性:
CSV ファイル内のコンマの処理

プロジェクトの 1 つの一括データを csv ファイルにエクスポートしています。したがって、この場合、a、b、c、d などの値をエクスポートする必要があり、これらはすべて 1 つの列に残す必要があります。ただし、コンマはそれらを異なる列に区切ります。

\r\n のような文字を含むテキストエリアまたはエディターに入力された値をエクスポートすると、csv の個別の行としてエクスポートされます。どうすればこの問題を解決できますか??

4

2 に答える 2

70
       // CSV rules: http://en.wikipedia.org/wiki/Comma-separated_values#Basic_rules
        // From the rules:
        // 1. if the data has quote, escape the quote in the data
        // 2. if the data contains the delimiter (in our case ','), double-quote it
        // 3. if the data contains the new-line, double-quote it.

        if (data.Contains("\""))
        {
            data = data.Replace("\"", "\"\"");
            data = String.Format("\"{0}\"", data);
        }
        else if (data.Contains(",") || data.Contains(System.Environment.NewLine))
        {
            data = String.Format("\"{0}\"", data);
        }

データは、dbの個々のアイテム、またはタイプのプロパティ値である可能性があります。

于 2011-04-21T06:43:20.937 に答える
7

これを処理する最も一般的な方法は、フィールドの前後に ""を使用することですが、ファイルを使用するユーザーに応じて、さまざまな方法で処理できます。コンマを区切り、コンマを特別な値に変更したり、別の区切り文字を使用したりできますが、ほとんどのコマンドは

于 2011-04-21T06:32:13.763 に答える