2011-11-10 4 views
0

2つのデータベースがあり、1つが詳細です。 table1はマスターであり、table2は詳細です。 table2には、コメントが追加された時点のコメントと日付があります。C#CSVファイルを作成して、1つのフィールドの内容をセルにラップします。

私の問題: CSVファイル(C#)をエクスポートして、すべてのコメントを1つのフィールドに入れなければなりません。 私の上司がこれをExcelにインポートしていて、各コメントの末尾にキャリッジリターン(または何か)を入れて1つのセルにラップするようにしたい場合

コメントは次のように書式設定されています。 11/10/201:2011年11月10日コメント1:

:それはExcelにインポート得るとき、彼らはExcelのセルに次のようになりように、2つのは「

私はオートラップにコメントしたいと思いますコメント 2011/11/10:コメント1 11/10/2011:コメント2

私は\ r\ nを試していますが、そのコメントを別のセルに入れてください。

助けがあれば助かります。

+0

私の答えを怒鳴るを見ていますが、まだ問題がある場合は、失敗したC#のコードを投稿してみてください... – zmilojko

+0

あなたは、セル内のテキストがセルに包まれたことにしたいわけ? 2つのコメント(Excelでインポートする前と後で)がまったく同じに見えるので、スクリーンショットイメージを表示する方が有益です。そしてyes \ rと\ n、そしておそらく\ tでもそれらを別のセルに入れます。 – nbz

+0

いいえ、エラーはありません:-)あなたの2番目のコメントはExcelにインポートされた時点で正しいです。特定のスポット、私はここにスクリーンショットを投稿する方法がわからないのですか? – Mike

答えて

0

正解は改行または\ nです。 ( ")

myCell.Style.IsTextWrapped = true; 
0

あなたは.csvにエクスポートする場合は、二重引用符で各フィールドをラップこれの内部では、既存の二重引用符をダブルアップ(.Replace("""", """""")

:あなたはまた、細胞が持っていることを確認しなければなりません。

あなたは開閉引用付きパターン","分離するフィールドを、持っている必要があります。

これはExcelにもたらしたとき、既存の改行を保持します。あなたは改行が必要な場合は、必要な場所Environment.NewLineのを挿入します。

.csvを使用すると、セルの書式を指定するオプションが多数ありません。

0

改行を含む値を二重引用符で囲む(二重引用符を二重引用符で置き換えてください)が、これを行うことができますが、CSVで行うと上司はそのセルに改行最初の行をExcelで表示するだけです。

これらの問題を克服する可能性のある、多くのオープンソースおよび商用パッケージが直接作成できます。

0

ました:

Row 1 Col1 | Row1 Col2 
-----------+---------- 
Row 2 Col1 | Row2 
      | Col2 (different line) 

を最小CSVである:

Row1 Col1,Row1 Col2 
Row2 Col1,"Row2 
Col2 (different line)" 

"は改行やカンマがCSVマークアップの一部が、実際のコンテンツされていない内のブロックとしてマーク。あなたはまたどこでもあなたが使用する必要があります "また倍増でそれをエスケープする。だから、

This cell says "hello" to you 

"This cell says ""hello"" to you" 

として、実際にこれを行うための最も簡単な方法を逃れている、あなたは常にそれを実行する必要がないという事実を無視し、ちょうどそれを毎回行うことです。

public static string CSVEscape(string content) 
{ 
    return "\"" + content.Replace("\"", "\"\"") + "\""; 
} 
関連する問題