• 締切済み

C# csvでセル内で改行するには

C# csvでセル内で改行するには お世話になっております。 C#でYahoo商品データのcsvを作るプログラムを作っております。 サイズとカラーの項目が一つのセルに格納する仕様になっています。 以下の用にセル内で改行する様にしたいのですが 参考になるページが無く困っております。 色 赤 青 黄 サイズ 23 24 25 ご存知の方おりましたらよろしくお願いいたします。

みんなの回答

回答No.2

「フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む」 だそうです。

参考URL:
http://ja.wikipedia.org/wiki/Comma-Separated_Values
全文を見る
すると、全ての回答が全文表示されます。
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

CSVとは改行で一行の終わりを示す決まりだからね。 セルの中の改行を別な文字に置き換えておいて、 表示の際にその置き換えた文字を改行に置き換えるしかないですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSV取り込み処理時の改行

    CSVファイルをファイル参照タグで取り込みデータを流す処理を作成したいのですが、 CSVファイル内の入力項目に改行が含まれていたらうまく取り込めません。 どうしたら正しく取り込めるのでしょうか? ※補足 $tmp_file = file($_FILES['csv']['tmp_name']); ↑のようにfile関数で取り込んだ場合、 $tmp_file[1]につきファイル1行が格納したのですが、 ファイル内改行箇所で$tmp_file内も改行され、ファイル内1行情報が2行となって$tmp_fileに入ってしまう。

    • ベストアンサー
    • PHP
  • VBAでCSV内にある改行を取る方法

    あるシステムが吐くcsvファイルの項目の中に改行が入っているものがあります。 例) 01,aaa,bbb(改行)bbb,ccc(改行) 02,ddd,eee,fff(改行) 03,ggg(改行)ggg,hhh,iii(改行) このCSVファイルをエクセルのマクロで読み込んでシートに展開したい のですが、項目中にある改行で別レコードを認識してしまいます。 結果) A B C D ---+---+---+--- 01 aaa bbb  bbb ccc 02 ddd eee fff 03 ggg ggg hhh iii これを以下のようにしたいのですが・・・ A B C D ---+------+------+---- 01 aaa bbbbbb ccc 02 ddd eee fff 03 gggggg hhh iii どうやればよいでしょうか? ご教授お願いいたします。

  • セルとセルを統合して、改行をいれたい。

    ご質問します。 セルとセルを統合して、統合した頭に改行をいれたいんですが 教えていただけませんか。 統合したいセル A1 Cotton Canvas Construction B1 One Size C1 ご注文の際は色とサイズをお知らせください。 CONCATENATE(A1,B1,C1) を使用するとこうなりました。 Cotton Canvas ConstructionOne Sizeご注文の際は色とサイズをお知らせください。 希望する表記 Cotton Canvas Construction One Size ご注文の際は色とサイズをお知らせください。 一つのセルに統合して統合先の頭から改行をいれたいのですが、 この作業が2000個ほどあるので、一括で出来る方法があれば教えて下さい。 説明がへたくそですみません。 宜しくお願いします。

  • csvファイルの横方向への改行について

    ある2次元配列があったとして, セルをちゃんと改行しつつcsvファイルに 書き込みをしようとしてるのですが 英字の方へ改行をする方法がわかりません. int a[4][4] ;   :   : FILE *file; file = fopen("condidate.csv","w"); for(int x = 0; x < 5 ; x++) { for(int y = 0; y < 5; y++) { fprintf(file,"%d\n", a[x][y]); } //改行←ここがわからない } fclose(file); csvファイル 1つの配列が1つのセルに入っている状態 ↓  A B C D _ _ _ _ 1 |1 1 1 1 2 |1 1 1 1 3 |1 1 1 1 4 |1 1 1 1 上記のものを作りたいです. よろしくお願いいたします.

  • 項目内改行があるCSVの書式設定ができません

    お世話になります。 現在、Excel2010のVBAを使って、ある項目内に改行CRLFを含むCSVを Excelシートにコピーして加工するマクロを作成しようとしています。 CSV1レコードの例) "001","b","c","d[CR][LF] e[CR][LF] f[CR][LF] g","h" 4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。 CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、 現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。 Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _ DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, _ FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _ ・・・・・・・・・・・・・・ このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定 (ここでは文字列をあらわすxlTextFormat)が無視されてしまい、 Excelに取り込んだときには文字列でなく標準の書式になっています。 つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。 ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、 今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。 なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。 OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、 と思っております。 よろしくお願いします。

  • 【Excel VBA】セル内に改行を挿入したい

    セル内で左から数えて10文字毎に改行(折り返し)させたいのですが、 どのようにコーディングすればよろしいでしょうか? 例) セルA1の値が "あいうえおかきくけこさしすせそたちつてとなにぬねの" の場合、 "あいうえおかきくけこ さしすせそたちつてと なにぬねの" としたいです。 ※セルの値は、CSVから自動取得して貼り付ける仕様になっています。  またセルの書式設定は、"折り返して全体を表示する"に事前に設定します よろしくお願いします。

  • Access2003で特定列の改行コードを削除してCSVへエクスポート

    またまた、質問させていただきます^^; Access2003にてCSVデータを一旦インポートして、クエリなどを使いデータを編集し、別のテーブルへ追加クエリを使用して吐き出し、そのテーブルのデータ全てをCSVファイルへエクスポートする、といった処理をしております。 はじめに取り込むCSVデータが、セル内(エクセルの編集画面でたとえさせていただきます)で沢山改行されているデータで、それをアクセスに取り込むと改行は一旦なくなったように、見えるのですが、エクスポートするとやはり改行コードが着いたままエクスポートされます。 この改行コードをAccessの処理で削除したいのですが出来るのでしょうか?CSV内の改行全てを削除するのではなく、特定列内(例えばC列など)のセル内の改行コードのみの削除です。 エクセルのClean関数なども試しましたがAccessの処理で一括してしまいたいのです。 TeraPad、秀丸などのテキストエディタで改行コードの置換をすると全て消えてしまい、CSVの行を意味する改行コードまで消えてしまうので使えないし。。。 皆様、お知恵をおかし下さい!お願いします。

  • csvファイルの特定のセルから読み込み

    C++についての質問です。 あるファイル(テキストでもエクセルでもCSVでも可)に書かれている特定のセル数値(整数)を読み込んで、プログラム内で入力する方法が知りたいです。 例えば、"test.txt"というファイルに 1 2 3 4 5 3 2 3 1 2 というような数字の羅列があった場合に,2行目4列目のセルの値を読み込む プログラムは、どうのうにすればできるでしょうか?

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • textareaに改行を入れても、CSV上では一セルに収まる方法は?

    結論から言いますと、 textareaに改行を入れると、CSVファイルが下段に移ってしまいます。 やりたいとこ textareaに改行を入れても、CSV上では一セルに収まってほしいです。 いろいろ調べたのですが、以下のどこを書き換えればよいか分からないんです。 初心者なため困っております。宜しくお願い致します。 △△△△△△△△△△△△△△△△ ファイル名:input.php ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽ <html> <head> <title>インプット</title> </head> <body> <h1 style="background:#cccccc">(書き込み)</h1> <form method="POST" action="write.php"> お名前: <input type="text" name="name" size="20" maxlength="30" /><br /> メッセージ: <textarea name="message" rows="4" cols="40">ここに感想を記入してください。</textarea> <br /> <input type="submit" value="送信" /> </form> </body> </html> △△△△△△△△△△△△△△△△ ファイル名:write.php ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽ <?php $file=fopen("good.csv","a"); flock($file,LOCK_EX); $line =date("Y年 m月 d日 H:i:s")."\t"; $line.=$_POST['name']."\t"; $line.=$_POST['message']."\t"; fputs($file,$line."\n"); flock($file,LOCK_UN); fclose($file); header("Location: input.php"); ?>

    • ベストアンサー
    • PHP