2016-12-25 7 views
1

私は今2日間行っていた問題があります。私はオンラインでたくさんの文書を読んだことがありますが、多分誰かが私をここで助けることができます。だから、もう読んでみたくない人たちのために、私は.csvファイルをインポートして、複数の行を含むいくつかのセルを含むたくさんのデータをExcelに読み込む必要があります。だからここ迅速なアプリケーションで単一セルに改行を含む.csvファイルを作成する

はリトルエンディアンエンコーディングをUTF16使っ例えば私の最初の.csvファイルです:

Id;Order Date;First Name (Billing);Optional message; 
106119;"2016-11-01 \r\n 22:34:00";John;; 
94540;"2016-11-01 \n 22:37:33";John;; 
94540;"2016-11-01 \r 22:37:33";John;; 
94540;"2016-11-01 \n\r 22:37:33";John;; 
94540;"2016-11-01 
22:37:33";Damien;; 

私は\ n行が2行に単一のセルに印刷されなければならない最後の行またはイベントを読んだものから、代わりにOS Xで15を超えると\ nを認識して次の行に進みます。

"Id","Order Date","First Name (Billing)","Optional message", 
"106119","2016-11-01 \r\n 22:34:00","John","", 
"94540","2016-11-01 \n 22:37:33","John","", 
"94540,"2016-11-01 \r 22:37:33","John","", 
"94540,"2016-11-01 \n\r 22:37:33","John","", 
"94540,"2016-11-01 
22:37:33","Damien","", 

私が追加、\ rをする\ nは、各行の最後に:ここで

はかなりもdoesntの仕事と同じファイルです。

誰かが私が間違っていることを教えてもらえますか?私はすでにアイデアがありません。再びMacでOffice 15を使用します。追加の質問を私にお願いします。私は素早く生成された.csvファイルだけでなく、woocommerceエクスポートされたファイルをWordpressから手動で編集してセルの改行を含めるようにしました。どちらもうまくいきません。私は何をすべきか分からない。もしあなたが私の例の一つを編集して私に正しい道を送ってください。前もって感謝します。

答えて

1

Macを持っていませんが、Windowsでこれを試してみてください。 Excelは、ExcelでAlt + Enterキーを使用してセルに「改行」を追加できます。 ヘックスエディタでは、ラインフィード/またはLFである0x0A文字に変換されることがわかりました。

CSVファイルを生成するときに、\ rまたは\ nではなく、LF 0x0A文字を配置する必要があります。これらのエスケープシーケンスを解釈するものはないからです。私はシンプルなC#のコードを書いた本をテストする

char lf = (char)0x0A; 
System.IO.StreamWriter sw = System.IO.File.CreateText(@"x.csv"); 
     sw.WriteLine("Id,Name,DateTime,Message"); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.Close(); 

をスニペットそれから私はExcelで生成されたCSVファイルを開いて、私が登場する 「マルチライン」のセルを取得することができました。これは、ソリューションのマック

enter image description here

+0

おかげで動作するようにあなたに似たものを得ることができますする方法についていくつかの指針を与える願っています。私はこれが理論的にどのように動作するのか理解していますが、少なくともスウィフトでは、ファイルに書き込む前に16進文字が翻訳されているようです。つまり、文字列をファイルに書き出しているときに、 –

+0

私は実際にこのコードをコンパイルし、Mac用のExcelに挿入しようとしましたが、動作しませんでした。 :( –

関連する問題