• ベストアンサー

連続する表を軽くする方法

お世話になっています。JSPでHTMLを表示するプログラムを作っています。 以下のようなデータを表示しようと思っています。 項目は10個で、以下の通りです。 メーカー名 商品名 伝票日付 取引 伝票No. 数量 金額 JANコード 厚生省コード 薬価 データの件数は、最大1000件あり、お客様の都合上、それを1ページ上に表示しようとしています。 ですから、最大、10項目×1000 のデータを1ページ上に表示したいのです。 まず、表形式で見栄え良くHTMLを作成すると、最大800KBになりました(^^; 軽くするため、 <PRE> ああああああああああ |ああああああああああああああああああああああああああああああ |20020125 |ああ |000000 |00,000 |000,000,000 |00000000000 |000000000000 |000,000,000 </PRE> のように記述すると200KBにおさまりました。 しかし、| の部分でズレが生じます。 ズレを生じさせない、見栄えの良い表形式のもので、軽くする方法があったら教えてください。 よろしくお願いいたします。

  • HTML
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんな感じでどうでしょう? <BODY><TABLE cellpadding="2" background="images/td_bg.gif" width="100%"> <TR bgcolor="#ffd9d9"> <TD colspan="3">大日本製薬</TD> <TD colspan="5">アイスコーヒー</TD> </TR> <TR bgcolor="#ffd9d9"> <TD width="11%">20020131</TD> <TD width="6%">売上</TD> <TD width="13%">8888888</TD> <TD width="10%">99,999</TD> <TD width="11%">999,999,999</TD> <TD width="17%">a-00000001126</TD> <TD width="17%">888888888888</TD> <TD width="11%">343,434,343</TD> </TR> <TR> <TD colspan="8"> </TD> </TR> <TR bgcolor="#ceffff"> <TD colspan="3">小日本製薬</TD> <TD colspan="5">ホットカフェオレ</TD> </TR> <TR bgcolor="#ceffff"> <TD>20020233</TD> <TD>売上</TD> <TD>7777777</TD> <TD>33,333</TD> <TD>333,333,333</TD> <TD>b-00000001212</TD> <TD>777777777777</TD> <TD>121,212,121</TD> </TR> <TR> <TD colspan="8"> </TD> </TR> </TABLE></BODY> この調子で実際に1000件分作ってみたところ(最後までテーブルは閉じない),333,031 バイトでした。ただし,中に入る字数で多少増減はすると思います。 たぶん,「background="images/td_bg.gif"」はこのとおりにすると必要なくなるかもしれません。 1000件分のデータを表示するのですから,データとデータの間に隙間を設けたくない場合は, <TR> <TD colspan="8"> </TD> </TR> を削除してください。 確認はIE6でしています。 試してみてください。

chie-ko
質問者

お礼

お返事が遅くなってしまい、申し訳ありません。 早速、<TD width="17%">のように、一番上の行のTDの幅だけ指定し、 あとの行は指定せずに試してみました。 また、各データに入れていた「background="images/td_bg.gif"」も 削除しましたが、結局1000件で600KBにしかなりませんでした。 始めは800KBだったことを考えると、かなり小さくなりましたが、 これ以上、少しは軽くなっても大きく変えることは出来ないと思い、 お客様に相談し、結局検索結果を複数ページに分けることにしました。 HEADやCSSで約50KBあることと、各データの中身に大小あること他、 原因かと思います。 しかし、ご相談にのっていただき、大変勉強になりました。 ありがとうございました。

その他の回答 (2)

  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

sp.gifなど1×1ピクセルの透過GIFを用意して、 先頭で横幅を固定してあげると、それ以降の<td width="xx">などの指定が不要になるので結構サイズ削れると思います。 あとはソース見にくくなりますが、改行もなくすとか 細かいところで削っていくと気休めにはなるかもしれません <TABLE ・・・・ STYLE="table-layout:fixed">というのはIE限定ですが、テーブルを全部読み終わってからではなく、読みながら表示するための指定です (詳しくは参考URLをご覧いただけばわかっていただけるかと思います) <TABLE bgcolor="#ffd9d9" cellpadding="2" background="../images/td_bg.gif" width="100%" STYLE="table-layout:fixed"> <TR> <TD><img src="sp.gif" width="70" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="40" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="80" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="60" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="70" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="100" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="100" height="1" alt="" border="0"></TD> <TD><img src="sp.gif" width="70" height="1" alt="" border="0"></TD> </TR> <TR> <TD colspan="3">大日本製薬</TD> <TD colspan="5">アイスコーヒー</TD> </TR> <TR> <TD>20020131</TD> <TD>売上</TD> <TD>8888888</TD> <TD>99,999</TD> <TD>999,999,999</TD> <TD>a-00000001126</TD> <TD>888888888888</TD> <TD>343,434,343</TD> </TR> </TABLE>

参考URL:
http://www.microsoft.com/JAPAN/developer/workshop/essentials/versions/ICPIE5.asp
  • siraq
  • ベストアンサー率28% (2/7)
回答No.1

ベタ書きなら200KBのところ、800KBは どう考えても大きすぎるような気がするのですが・・・ 単純計算で1セルあたり600バイトをタグなどで使ってる話になります。 そこで確認したいのですが、表のセルごとに <td bgcolor="#ffffff"> のようなことはしてないですよね。 もし何か属性を使っているなら、colgroupか CSSのselectorを使って節約できます。

chie-ko
質問者

補足

お返事ありがとうございます。 <td bgcolor="#ffffff">のように背景は指定していません。 ただ、項目の幅を揃えるため、WIDTHは指定してあります。 念のため、下に、1つのTABLEのタグを記述します。 よろしくお願いいたします。 <TABLE bgcolor="#ffd9d9" cellpadding="2" background="../images/td_bg.gif" width="100%"> <TR> <TD colspan="3">大日本製薬</TD> <TD colspan="5">アイスコーヒー</TD> </TR> <TR> <TD width="70">20020131</TD> <TD width="40">売上</TD> <TD width="80">8888888</TD> <TD width="60">99,999</TD> <TD width="70">999,999,999</TD> <TD width="100">a-00000001126</TD> <TD width="100">888888888888</TD> <TD width="70">343,434,343</TD> </TR> </TABLE>

関連するQ&A

  • 表の中に画像を貼り付けたいです。

    今まで5列で5~6段の表を作成していました。 一番右脇は画像を貼り付けして載せていたのですが、増ページにしようと、中身(つくりは全く同じ)をコピペして、内容を変更しました。 すると画像のみ表示されません。その他の項目はきちんと表示されています。 どのようにすればいいでしょうか? 私が数時間にわたり対処したのは、 1)画像を小さくする・・・20キロバイトのものを10キロバイト台にした 2)幅を画像の部分を広めにし、その他の部分を狭めてみた ですが、全然うまくいきません。 ソフトを使わずに少しずつ打ち込んでいったものなので、 HTMLの言葉は知らないまま他のページのコピペ(ソースを見ながら)でやってきました。 何か方法があれば教えて下さい。

  • csv形式での表を2列にする方法

    今ホームページ作成をしているのですが、 データバインド…いわゆるcsv形式でデータを読み込む際に、 表の表示方法が上手くいかずに困っています。 例えば、3項目(ABC)4行のデータを2列で ABCABC 1あい3あい 2あい4あい という表の表示方法や ABCABC 1あい2あい 3あい4あい という表示方法を行ないたいのですが、 どの様にすれば良いのかが分からず二進も三進もいかない状態です。 HTMLもCSSもJavaScriptも そこそこ使えるのですが、 自宅で利用しているプロバイダがCGIなどが使えないので、 先にも述べましたがHTMLなどで作れるので有れば、 外部テキストファイルを読み込んで表を2列表示させたいので、 作成方法についてご存じの方、いらっしゃいましたら宜しくお願い致します。 ちなみに、エクセルやワードを使用せず、 メモ帳(Notepad)でのテキスト作成です。 初めて書き込むので、上手く説明できているか分からないので、 書き込みに対する指摘などありましたら、その点も宜しくお願い致します。

  • VB6でEXCELの表をHTML形式で保存する方法は?

    VB6でEXCELのデータを作成してHTML形式で保存したいのですが、根本的にできないものでしょうか? EXCELのVBAではWebページで保存ということができるので試行錯誤してみたのですが VB6のヘルプでSaveAsメソッドを見る感じでは新しいファイル名までは指定できますが保存形式はEXCEL VBAのように指定できないようです。 XLSファイルの表までは完成できますが、そのXLSファイルをHTMLファイルにできればぃぃんです。 VB6からEXCELを制御してHTML形式で保存させるとか なにかいい方法はないでしょうか?

  • ウェブ上での表計算

    ウェブ上で表計算を公開して、閲覧者が利用できるページを作りたいと思っています。 複数項目の時間数をそれぞれ合計し、10シート以上に渡って累積合計していくものです。 計算式は単純ですが、データ量がとても多いです。 エクセルの「Webページとして保存」の「対話機能を追加する」をやってみましたが、10シート分でHTMLファイルのサイズが812KBにもなってしまいました。 ウェブに公開するには大きすぎると思ったので、こちらで質問させていただきました。 条件として、 1、セルロックをかけたい 2、ページを印刷できるようにしたい 3、可能であれば、(PCに詳しくない人が)簡単にローカルへ保存できないようにしたい Googleスプレッドシートを試しましたが、セルロックがかからないようでした。もしできるようであれば教えていただければ助かります。 インターネットでいろいろ検索したのですが、探しきれませんでした。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • エクセルで作ったHTMLをネットスケープにのせる方法

    イントラネットでマニュアルを作成しています。 エクセルで作った表をHTML形式で保存して、 ネットスケープで表示しようとすると真っ白なページが でるのみです。(エクスプローラーでは表示できるのですが) エクセルで作った表をネットスケープで表示させるのにいい方法はありませんか? 解答、宜しくお願い致します。

  • 表をつくるのに最適なフォント教えてください。

    こんにちは。 会社で色々とエクセルの表を作る機会があるのですが、できるだけ見栄えのいい物を作りたいのです。 自分の好きな表のスタイルはほぼ確立できましたが 各項目(列?)に最適なフォントがいまいちわかりません。 例えば、今私がよく使っているのは、 文字列はMSPゴシック 数字はArial コードはcentury です。 これは適当にいいなと思ったのを使ってるだけなので、数字にふさわしいフォントがどれかとか全く知りません。 参考書とかにはこういう事って載ってないですよね???フォントについて何かいいアドバイス、秘訣ありましたら教えてください。

  • 表形式の表示

    JavaでたとえばExcelのような表形式でデータを表示するにはどうすればいいのでしょう? 表示するだけなので計算とかの機能は不必要です。 表示するレコード数は0以上200ぐらいまでですので縦方向へのスクロール機能は必要です。 横の項目数は5個ぐらいなので画面に全部表示します。 よろしくお願いします。

  • 出馬表と出走馬名表

    ハードが壊れてしまい、長年蓄積してきたデータが消失して大変困っています。 JRAがホームページ上で公開している「出馬表」及び「出走馬名表」をHTMLファイル(その他の形式でも)で保存している方がいらっしゃいましたら、是非ご連絡ください。 今年の分でも、その前の分でもかまいません。 できるだけたくさんのデータを回復したいと思っています。 よろしくお願いします。

  • CPU比較表の見方

    やりたいゲームや作業をしたいときに推奨スペックが表示されていますが、各CPUについての数字が表記されているわけではないので、CPUの比較表でCPUを比較しているんですが、表の見方がいまいちわかりません。 私が見ている表には 1、開発コード名(コア)FSB・HT(MHz) / キャッシュ(KB) 2、クロック(MHz)x コア数 3、1MHz当の効率 3、Northwood換算値 という項目で数字が表記されています。 Northwood換算値の値が大きいほど、処理能力が高いと思っているんですが、これは正しいでしょうか?。

  • エクセルでの表の作成がうまくできません。

    エクセルでの表の作成がうまくできません。 A3用紙いっぱいを使い、表の作成をしているのですが悪戦苦闘しています。 3枚にわたり、30項目ほどあります。ページの切れ目で項目がきれないように 同じ項目は同ページでおさめたいです。 拡大/縮小で100%にすると数列がきれてしまいます。きれた列を改ページプレビューにて 同ページに入れると80%ぐらいになってしまいます。 その繰り返しで、A3用紙いっぱいに表示するのにとてつもない時間を要して しまいました。 手早く用紙いっぱいに表示する方法をおしえていただけませんでしょうか。 よろしくお願いいたします。