朝顔日記

table のセルの選択@Firefox

2005-03-17

流行りの table ネタ(何)です。(違

Firefox で html の table を選択して、Excel にうまく貼り付けられないという話題が質問スレ(何)に出ていました。とりあえずサンプルで table をひとつ書いて試してみます。

3月16日に朝顔日記にアクセスしてきた UA の OS 調べ
OS比率(単位 : %)
合計100.00
Windows XP55.20
Windows 200018.20
Unknown OS10.80
Windows 985.60
Macintosh3.80
Windows Me3.40
Linux2.20
Windows.NET0.40
Windows NT0.20
FreeBSD0.20

さて、この table を Firefox で選択して Excel に貼り付けると、何故かうまくいきません。ひとつのセルにすべて入ってしまうのです。Excel に貼らずに テキストエディタ(私の場合は xyzzy です)に貼り付けてみます。タブ区切りで貼り付きます。便宜上タブを、\t、改行コードを \n として書いてみると以下のような感じになります。

OS\t比率(単位 : %)\n
合計\t100.00\n
Windows XP\t55.20%\n
Windows 2000\t18.20%\n
Unknown OS\t10.80%\n
Windows 98\t5.60%\n
Macintosh\t3.80%\n
Windows Me\t3.40%\n
Linux\t2.20%\n
Windows.NET\t0.40%\n
Windows NT\t0.20%\n
FreeBSD\t0.20%

最後の FreeBSD の行の最後に改行が入っていないのに注意してください。実験してみたところ、どうもこの改行が問題らしくて、xyzzy 上で編集して改行コードを付け足してやり、それを Excel に貼り付けてやるとうまく行くようなのです。あるいは、table のセルよりも余分に、つまり下のテキストを含めてコピーしてやるとやはりうまく行きます。もちろん余分も入ってしまいますが。

ところで、今回初めて知ったのですが、Firefox を使って Ctrl キーを押しながら table のセルをクリックするとセルが選択されるんですが、これを使って離れたセルを複数選択することも出来るんですねぇ。Shift キーを押しながらやると、間のセル(何)を一気に選択することもできるようです。なんとなく便利そう。こうやって選択、コピーしたものを Excel に貼り付けると、途中に br 要素等が無ければ、1行のデータとして貼り付けられるようです。あまり役に立ちませんね。:p)

しかし、テキストエディタ上で末尾に改行コードを加えてから貼り付けると1行にはなるものの、一応セルに収まる形で貼り付けることもできるようです。

きっと知らないだけで、何か有効な使い道とかもあるんだろうなぁ。ご存知の方は教えてください。

「table のセルの選択@Firefox」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事へのツッコミ

1: もとひこ (2005-03-17T20:19:45+09:00)
Bug 137450 - Problem copying a table from a web page to excel
https://bugzilla.mozilla.org/show_bug.cgi?id=137450

WinMeでは、クリップボードビューアで眺める限りHTMLとしてはコピーしてないようですね。
2: のり (2005-03-18T18:14:10+09:00)
ああ、ばぐじらにもあったんですね。
一応 vote して流れを見ておくかな。
3: もとひこ (2005-03-18T21:59:46+09:00)
晒してみるテスト。
4: nullpage (2005-03-19T23:07:01+09:00)
OpenOffice.org1.1.4 Calcにはちゃんと貼り付けられました。それと、上記の表ですが、F7でキャレットを出してSHIFT+→で選択すると、最後のセルの内容から次の段落の前に見えない何かが選択できます。そこまで選択すれば最後に改行が付くようです。
 ちなみにCtrl+Clickですが、思い通りに任意選択できない場合がありますね。ポインタがキャレットになってしまう場合かと思いましたが、そうでもないようです。
5: のり (2005-03-20T12:17:02+09:00)
ああ、私は通常キャレットを表示させているんですが、さらに選択範囲を追加するのは思いつきませんでした。なるほど、たしかにうまく行きますね。
ってことはやっぱり改行コードの問題なのかしらん。んでも、OOo にはうまく貼りつくってことは、単に Excel との相性の問題なのかなぁ。
6: もとひこ (2005-03-20T16:25:56+09:00)
Bug 137450 comment #0にありますよ。曰く、Excel 97にはきちんとペーストできたがExcel 2000ではダメとのこと。
つまるところは、MS Excelに適した形でコピーしようという話でしょう。

ただマウスで選択する限り、例えば段落の後ろの空白部分までドラッグしてもコピーするとFxでは最後に改行が入らないんで、選択範囲が小さすぎるという_問題_なんでしょうね。
# とメールしました。

Bill Roweが興味を持ってくれたようだ、とも付け加えておきます。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/03/diary_050317a.html