• 締切済み

CSVファイルより自動でHTML形式で表示したい。

CSVファイルより自動でHTML形式で表示したいのです。 たとえば、csv ファイルの中身が、 room.csv 部屋名,温度,湿度,料金 101,23.5,40,15000 102,23.2,40,16000 103,23.0,40,17000 104,23.4,40,19000 となっているとします。 room.htmlでもroom.cgi 等で表示させ ブラウザのソースを見たときには、 <table border=4 width=250 align=center> <tr bgcolor="#cccccc"> <th>部屋名</th> <th>温度</th> <th>湿度</th> <th>料金</th> </tr> <tr align=center> <td>101</td> <td>23.5</td> <td>40</td> <td>15000</td> </tr> <tr align=center> <td>102</td> <td>23.2</td> <td>40</td> <td>16000</td> </tr> <tr align=center> <td>103</td> <td>23.0</td> <td>40</td> <td>17000</td> </tr> <tr align=center> <td>104</td> <td>23.4</td> <td>40</td> <td>19000</td> </tr> </table> のように、したいのですが、 可能でしょうか? perl等のプログラムの知識は、ほとんどありません。 作ってあるものをアップロードして動くようにすることは、出来ます。

みんなの回答

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.3

>CSVファイルより自動でHTML形式で表示したいのです。 表示じゃないけど変換ソフトなら ソフト名: bpTran 動作OS: XP,Win2000,Win98,WinNT http://www.vector.co.jp/soft/win95/net/se157300.html

参考URL:
http://www.vector.co.jp/soft/win95/net/se157300.html
  • M_Sato
  • ベストアンサー率54% (550/1003)
回答No.2

自動生成とまではいきませんが、csvをhtmに変換する方法を示します。 テキスト・データを順に1行ずつ読み込んで処理して出力するストリーム・エディタというソフトがあります。いちばん有名なのがsed.exeです。これを使えば簡単に変換ができます。 ●sed.exeの導入 下記からダウンロードして解凍したあと、sed.exeだけをルート・ディレクトリのc:\に置いてください。DOSのプログラムなので特にインストール作業は必要ありません。 http://www.vector.co.jp/soft/dos/util/se000880.html (sed.exeはさまざまな開発者によって発表されており、いろいろな版がありますが、上記のものが使いやすいと思います) ●スクリプト sedで処理する手順を記述したのがスクリプト(プログラム)です。以下13行のスクリプトを記述したテキスト・ファイルroom.txtを作ります。コピペでここから貼り付けてください。 ----------------------------- 1{ i\ <table border=4 width=250 align=center> s/^/<tr bgcolor="#cccccc">\n<th>/ s/,/<\/th>\n<th>/g s/$/<\/th>\n<\/tr>/ n } s/^/<tr align=center>\n<td>/ s/,/<\/td>\n<td>/g s/$/<\/td>\n<\/tr>/ $a\ </table> ----------------------------- ●元データ 元データをroom.csvとして保存します。 ●バッチ・ファイル 実行させるために以下1行だけ記述したテキスト・ファイルを作成して、保存後にファイル名をroom.batに変更します。 ------------------------------------------- c:\sed -f room.txt room.csv > room.htm ------------------------------------------- room.txt、room.csv、room.batを同じフォルダに置き、room.batをクリックしてください。変換されたファイルがroom.htmとして生成されます。 このファイルの内容を適当なhtmファイルに貼り付けてください。 項目数、行数がいくつでも対応できます。

  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

可能です。 csv 読み込み 言語名 で、検索すれば、サンプルが色々見つかると思います。 不明な点を検索すれば、ついでに知識もつきます。

関連するQ&A

  • HTMLのテーブルタグでCSVデータ表示

    HTML素人です。 色々参考にしていますが、どうしてもわからず困っています。 もし分かる方がいましたら、ご教示お願い致します。 見よう見まねで下記のようなHTMLのテーブルを作成したのですが、 この見出しの下のデータ部分から、指定の格納フォルダに保存しているCSVデータを読み込んで表示させるといったことがしたいです。 (できれば、フォルダ内に新たにCSVデータが保存されたとき、 一度読み込んだファイルの次から表示されるようにしたいです。) 大変恐縮ですが、ご教示お願い致します。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>発注書</title> </head> <body> <header> <h1>発注書</h1> </header> </body> <table border> <tr> <th bgcolor="#00ffff">No</th> <th bgcolor="#00ffff">商品</th> <th bgcolor="#00ffff">商品名</th> <th bgcolor="#00ffff">数量</th> <th bgcolor="#00ffff">金額</th> <th bgcolor="#00ffff">合計金額</th> <th bgcolor="#00ffff">コメント</th> <th bgcolor="#00ffff">備考①</th> <th bgcolor="#00ffff">備考②</th> <th bgcolor="#00ffff">備考③</th> </tr> <tr> <td>2-1</td> <td>2-2</td> <td>2-3</td> <td>2-4</td> <td>2-5</td> <td>2-6</td> <td>2-7</td> <td>2-8</td> <td>2-9</td> <td>2-10</td> </tr> <tr> <td>3-1</td> <td>3-2</td> <td>3-3</td> <td>3-4</td> <td>3-5</td> <td>3-6</td> <td>3-7</td> <td>3-8</td> <td>3-9</td> <td>3-10</td> </tr> </table> </html>

  • CSV形式の表の内容をHTMLファイルのTABLEに表示する方法は?

    どうしてもわからず困っています。どなたかおわかりの方がいらっしゃいましたら、是非お教えください。 ●CSVファイル(data.csv)の内容が下記の場合、 品番,商品名,価格 0001,りんご,100 0002,いちご,150 0003,すいか,200 ●HTMLファイル(index.html)に以下のように表示したいです。 <table> <tr><th>品番</th><th>商品名</th><th>価格</th></tr> <tr><td>0001</td><td>りんご</td><td>100</td></tr> <tr><td>0002</td><td>いちご</td><td>150</td></tr> <tr><td>0003</td><td>すいか</td><td>200</td></tr> </table> データバインドという方法もあるようなのですが、IE以外のブラウザでは表示できないみたいなのです。 できれば、IE,Firefox,サファリの最新版での表示ができればと思いますので、それ以外の方法(php,xmlなど?)でできればと思います。 わかりづらい説明で申し訳ないです。 宜しくお願い致します。

  • dreamweaverで、テーブルのボーダーカラーに入力しても、表示されません。

    プロの方に作っていただいたHPを書き換えていて、 テーブルのボーダーカラーを指定しようとしているのですが、 コードから何回もボーダーカラーを指定しているのに、 色がまったく表示されません。 </table> <table width="500" height="118" border="2" align="center" cellpadding="5" cellspacing="2" bordercolor="#000000"> <tr> <td width="131" bordercolor="#000000" bgcolor="#CCCCCC"><div align="center">●●●</div></td> <td width="205" bordercolor="#000000" bgcolor="#CCCCCC"><div align="center">●●●</div></td> <td width="114" bordercolor="#000000" bgcolor="#CCCCCC"><div align="center">●●●</div></td> </tr> <td bordercolor="#000000"><div align="center">●●●</div></td> <td bordercolor="#000000"><div align="center">●●●</div></td> <td bordercolor="#000000"><div align="center">●●●</div></td> <tr> <td bordercolor="#000000"><div align="center">●●●</div></td> <td bordercolor="#000000"><div align="center">●●●<br> ●●● </div></td> <td bordercolor="#000000"><div align="center">●●●</div></td> </tr> </table> 新しいページに、以上のコードをペーストすると、ちゃんと表示されます。 スタイルシートやCSSで指定してあって、それが優先されているのでしょうか? スタイルシートやCSSは使ったことがないのですが、 それを解除するには、どうすれば良いでしょうか? よろしくお願いいたします。

  • CSV形式のExcelファイルをhtmlで表示

    訳あって以下のソースを使わなければなりません。 しかし、これだけではエラーになってしまいますよね? 私は初心者なので、その他何を加えれば実行できるのか、 その基礎的な部分がまったくわかりません。 以下がそのソースです。list1というExcelのデータを表示するものです。 <HTML> <HEAD> <TITLE> </HEAD> <OBJECT CLASSID="clasid:333c7bc4-460f11d0-bc04-0080c7055a83"ID=list> <PARAM NAME="CharSet"VALUE="shift-jis"> <PARAM NAME="DataURL"VALUE="list1.txt"> <PARAM NAME="UseHeader"VALUE="true"> </OBJECT> <TABLE ID="oTable" DATASRC=#list BORDER="2" BGCOLOR="#eeeeff"> <THEAD> <TR> <TD BGCOLOR="#ddddff"><B>品番</B></TD> <TD BGCOLOR="#ddddff"><B><CENTER>品名</CENTER></B></TD> <TD BGCOLOR="#ddddff"><B>カテゴリ</B></TD> <TD BGCOLOR="#ddddff"><B>定価</B></TD> <TD BGCOLOR="#ddddff"><B>特価</B></TD> <TD BGCOLOR="#ddddff"><B>在庫</B></TD> </TR> </THEAD> <TBODY> <TR> <TD><DIV DATAFLD=no ALIGN=right></DIV></TD> <TD><DIV DATAFLD=name></DIV></TD> <TD><DIV DATAFLD=shurui></DIV></TD> <TD><DIV DATAFLD=teika ALIGN=right></DIV></TD> <TD><DIV DATAFLD=tokka ALIGN=right></DIV></TD> <TD><DIV DATAFLD=zaiko ALIGN=right></DIV></TD> </TR> </TBODY> </TABLE> </HTML> どうかお願いしますm(__)m ちなみにエラーメッセージは <object>タグにwidht属性がありません <param>タグが<applet></applet>の外にあります です。 <applet>に何を書けばいいのかわかりません。 このソースの場合、データベースのデータを表示したいだけでもjavaファイルを作らなければならないということでしょうか? 無知でごめんなさいm(__)m 上記のソースだけ渡されてそれを実行しなければならないので、その他のことがまったくわからないのです。

  • HTMLでテーブルを縦に並べたい!

    基本的な質問でお恥ずかしいのですが、困っています。 テーブルを二つ、縦に並べたいのですが、何故か横に並んでしまいます。 どこが悪いのでしょうか?初心者ですみません…お知恵をお貸しください(T_T)。 <caption><font color="#ff0000">●</font>A <font color="#0000ff">●</font>B</font></caption> <table bgcolor="#80ffff" border="1"cellspacing="0" bordercolor="#0000ff" align="left"> <tr><th width="30"><font size="+5"><font color="#ff0000">●</font></th> <th width="150"> <font size="+4"><strong><big>C</big></strong></font></th> <td><font size="+2">D<br>E</font></td></tr> <tr><td></td><td><div align="center"> <font size="4" color="#8080ff"> 準備中</font></div></td><td></td></tr></table> </p></div> <p></p> <table align="center" bgcolor="#80ffff" height="20" width="250" border="1" cellspacing="2" cellpadding="0"> <tr><td><blink>HOME</blink></td></tr> </table> </body>

    • ベストアンサー
    • HTML
  • PHPファイルの画像背景について

    PHPファイルでお問い合わせフォームを作りました。 画像背景を入れたいのですが なかなかうまくいきません。 スタイルは共通で以下ファイルを作りました。 <?php //style2.phpで書換え可能とする //背景色 $bgcolor = "#FFFFFF"; //文字色 $textcolor = "#999999"; //リンク色 $linkcolor = "#BC8F8F"; //訪問済リンク色 $vlinkcolor = "#cccccc"; //選択時リンク色 $alinkcolor = "#a48b82"; //フッター文字 $footertext = "(C)○○○○"; //水平線の色 $hrcolor = "#cccccc"; //枠の色(主にPC向け) $bordercolor = "#cccccc"; $style = array( "BODY"=>"<BODY bgcolor=$bgcolor text=$textcolor link=$linkcolor vlink=$vlinkcolor alink=$alinkcolor>" ,"FOOT"=>"<center>$footertext</center>" ,"HR"=>"<HR size=1 color=$hrcolor>" ,"TABLE_S"=>"<table border=1 align=center cellpadding=4 bordercolor=$bordercolor width=240 cellspacing=0><tr><td>" ,"TABLE_E"=>"</TD></TR></TABLE>" ,"TABLE_S2"=>"<table border=1 align=center cellpadding=4 bordercolor=$bordercolor width=480 cellspacing=0><tr><td>" ,"TABLE_S3"=>"<table border=1 align=center cellpadding=4 bordercolor=$bordercolor width=750 cellspacing=0><tr><td>" ); ?> お気づきの点がありましたらよろしくお願いします。

    • 締切済み
    • PHP
  • CSVデータベース

    PHPを使い CSVのデータを表示させる事ができました。 がっ見た目がどうも汚いですよね・・・ もっとすっきりする方法はあるんでしょうか? あとCSVのデータを検索させるようにしたいのですが何かサンプルとかありませんでしょうか? 注文多くて申し訳ないですが、是非ともご教授よろしくお願い致します。 <table width="550" class="table01"> <tr> <td width="32" height="18"><div align="center"><strong>画像</strong></div></td> <th width="123"><strong>情報1</strong></th> <th width="58"><strong>情報2</strong></th> <th width="56"><strong>情報3</strong></th> <th width="53"><strong>情報4</strong></th> <th width="55"><strong>情報5</strong></th> <th width="56"><strong>情報6</strong></th> <th width="81"><strong>対象</strong></th> </tr> <?php $csv = fopen ("./data/new.csv", "r") or die(print "ファイルを開く事が出来ませんでした"); while ($items = fgetcsv ($csv, 1000,",")) { print "<tr>\n"; print "<td height='40' rowspan='2'><img src='$items[0]'/></td>\n"; print "<td><center>$items[1]<center></td>\n"; print "<td>$items[2]</td>\n"; print "<td>$items[3]</td>\n"; print "<td>$items[4]</td>\n"; print "<td>$items[5]</td>\n"; print "<td>$items[6]</td>\n"; print "<td>$items[7]</td>\n"; print "</tr>\n"; print "<tr>\n"; print "<td height='16' colspan='7'><div align='left'>$items[8]</div></td>\n"; print "</tr>\n"; } fclose($csv); ?> </table>

    • ベストアンサー
    • PHP
  • HTMLでタイムスケジュールを作成しています。

    HTMLでタイムスケジュールを作成しています。 ブラウザはIE7です。 左側の「No.」~「氏名」は固定です。 タイムスケジュールの部分に横スクロールを表示させ、ブラウザの横スクロールは使用しません。 1分単位で表示させたいのですが、どうしてもレイアウトが崩れてしまいます。 (添付の図ぐらいの間隔にしたいです。1分を1~3pxぐらいでしょうか。) 下記のHTMLは作成中のものですが、文字数制限のため一部を省略しています。 <table width="100%"> <td> <table width="310" align="left" border="1" cellspacing="0"> <tr> <td rowspan="2" width="10"><div align="center">No.</div></td> <td width="100"><div align="center">所属</div></td> <td width="100"><div align="center">部門</div></td> <td width="100"><div align="center">勤務区分</div></td> </tr> <tr> <td width="100"><div align="center">区分詳細</div></td> <td width="100"><div align="center">階級</div></td> <td width="100"><div align="center">氏名</div></td> </tr> <tr align="middle"> <td rowspan="2" height="50">1</td> <td>所</td> <td>部</td> <td>区</td> </tr> <tr align="middle"> <td>詳</td> <td>階</td> <td>太郎</td> </tr> </table> <div style="overflow-x:scroll; overflow-y:visible;"> <table height="100%" border="1" cellspacing="0"> <tr> <td colspan="60" align="center">08</td> <td colspan="60" align="center">09</td> <td colspan="60" align="center">10</td> </tr> <tr> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> <td colspan="15" align="right">15</td> <td colspan="15" align="right">30</td> <td colspan="15" align="right">45</td> <td colspan="15" align="right">60</td> </tr> <tr align="center"> <td colspan="100" bgcolor="lightpink" height="50">未</td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td bgcolor="lightblue"></td> <td bgcolor="gold"></td> <td colspan="70" bgcolor="lightgreen">仕</td> </tr> </table> </div> </td> </table>

    • ベストアンサー
    • HTML
  • CSVファイルをブラウザで、きれいに表示したい。

    うまく説明できませんが、CSVファイルをブラウザで、きれいに表示したいのですが、可能でしょうか? たとえば、csv ファイルの中身が、 部屋名,温度,湿度,料金 101,23.5,40,15000 102,23.2,40,16000 103,23.0,40,17000 104,23.4,40,19000 というものを、表形式で、ブラウザ(携帯やスマホでも)で表示できるだけでよいのですが、 ただし、CSVファイルの中身は、定期的に、変更になります。 このような条件のみで理解していただけるかた、よろしくお願いいたします。

  • Mac IEのバグなのでしょうか?

    TMEspionです。 <table border="0" cellpadding="5" cellspacing="5"><tr><td width="100" align="left" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td><td width="100" align="center" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td><td width="100" align="right" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td></tr><tr><td align="left" bgcolor="#999999">左</td><td align="center" bgcolor="#999999">中</td><td align="right" bgcolor="#999999">右</td></tr></table> --------------------------------- 上記のソースの様に、テーブルを縦2段、横2列にセルを作り、上段はテーブルタグ、下段はテキストでそれぞれalign属性をleft、center,rightと設定しています。 ところがInternet Explorer 5.2 for Macで見ると、 上段右のテーブルタグは「align="right"」の効果が出ていません。 この質問を呼んでいる回答者様には、ブラウザでどう表示されるんでしょうか? どう表示されたかという結果とブラウザ名を教えて下さい。

    • ベストアンサー
    • HTML

専門家に質問してみよう