2

私は C# の初心者です。一部のデータを CSV 形式で XL シートにエクスポートしています。私のデータには、データが似ているフルネームの列が含まれています (John、Delores "Sutton")。これを XL にエクスポートすると、データが Tab1: John と Tab2: Delores "Sutton" のような 2 つの列 (またはタブ) に分割されます。私が欲しい

以下のコードを使用する場合

string F1 = base.GetColumnText(column, columnValue); //ex: John, Delores \"Sutton\""
string F2 = string.Format("\"{0}\"", F1); //ex: "\"John, Delores\"Sutton\"\""
streamWriter.Write(F2); //ex output in XL is: John, Delores Sutton""

XL での出力は次のとおりです。

ジョン、デロレス・サットン」

しかし、私はそれが欲しい:

ジョン、デロレス「サットン」

4

2 に答える 2

1

CSV で二重引用符を表すには、二重引用符が必要です。また、テキストの出力が次のようになるように、すべてを二重引用符で囲む必要があります。

"John, Delores ""Sutton"""

したがって、二重引用符を二重にするために、テキストで検索と置換を行う必要があります...

F1 = F1.Replace("\"", "\"\"");

次に、フォーマットを実行して、テキストを引用符で囲みます。

var F2 = string.Format("\"{0}\""), F1);

精通した?

于 2012-11-13T20:33:08.323 に答える
1

コンマはフィールドの区切りに使用されるため、コンマを含む値は 2 つのフィールドとして解釈されます。そのようなフィールドは引用符で囲む必要があります。その結果、引用符を含むフィールドも引用符で囲む必要があり、フィールド内の各引用符は二重にする必要があります。

CSV ファイルの作成にはいくつかのルールがあります。私は CSV ファイルの読み取りと書き込みのための非常に完全なクラスを作成し、コードをC# での CSV ファイルの読み取りと書き込みの記事で紹介しています。あなたはそれをチェックしたいかもしれません。

于 2012-11-13T20:38:50.103 に答える