OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 暇なときにでも
  • 質問No.209707
  • 閲覧数111
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (3/6)

お世話になっています。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におさまりました。
しかし、| の部分でズレが生じます。

ズレを生じさせない、見栄えの良い表形式のもので、軽くする方法があったら教えてください。
よろしくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル14

ベストアンサー率 68% (2350/3407)

こんな感じでどうでしょう?

<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

お礼率 50% (3/6)

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

その他の回答 (全2件)

  • 回答No.1
レベル5

ベストアンサー率 28% (2/7)

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

お礼率 50% (3/6)

お返事ありがとうございます。
<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>
投稿日時 - 2002-02-01 13:32:09
  • 回答No.2
レベル12

ベストアンサー率 65% (242/372)

sp.gifなど1×1ピクセルの透過GIFを用意して、 先頭で横幅を固定してあげると、それ以降の<td width="xx">などの指定が不要になるので結構サイズ削れると思います。 あとはソース見にくくなりますが、改行もなくすとか 細かいところで削っていくと気休めにはなるかもしれません <TABLE ・・・・ STYLE="table-la ...続きを読む
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>
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ