風仙洞

Excel の表を HTML の要素に変換

作成:2025/06/18

Excel など表計算ソフトの表データをWebページで利用したいことがある。そんな時、私は、

  1. 表データを新しいシートの左上にコピー&ペーストする
  2. 必要に応じて列の並び順を変更したり、行を追加・削除する
  3. そのシートを並び順で1番左にして保存する
  4. エクセルのファイルを『桐 for Windows』で読み込む(桐 Excel ブリッジ)
  5. 新しい項目を計算式用として、他の項目の値や固定文字列を連結して HTML のソースにする
  6. HTML のソースが組み込まれた項目をテキスト書き出しする
  7. 書き出されたテキストを HTML エディタで読み込み、Webページの該当部分にペーストする

という手順を取る。

人によっては、

という方法を採るであろう。

しかし、項目値をそのまま table のデータとするような場合は、少し大袈裟である。そこで、昨年秋にWebページのリダイレクト絡みでエディタの「正規表現」を囓るようになったので、ここでも正規表現を利用できないかと考えた......今さらながらとも言えるが(爆)

従来から知っていたことは、

Excel の複数のセルを選択し、データをクリップボードにコピーして、エディタ側でペーストすると、タブ区切りデータとなる

である。

また、⬇のようなことも推測した。

ネット検索してみたら推測通りであった💪

表計算ソフトで作成済の一覧表を HTML の table に変換する手順は次の通り。

  1. HTML エディタ(私の場合は Visual Studio Code)で table 要素を入力。
  2. 見出し行の項目を作成。
  3. 表計算ソフトでデータ行を範囲指定し、クリップボードにコピー。
    ダミー・データ「関東地方の都県リスト」
  4. クリップボードのデータを市販、或いはオンライン・ソフトのエディタ(説明図では「秀丸エディタ」)の編集画面にペースト。
  5. 正規表現を有効にして行末の改行文字「¥n」を HTML での table の行終了部分「</td></tr>」+「¥n」に置換。
  6. うまく行末が置換された。
  7. 同様にタブ文字「¥t」を HTML の「</td><td>」に置換。
  8. 最後は行頭「^」から HTML の「<tr><td>」への置換。リダイレクトの時の知識が役に立った! ペースト先の状況によっては「<tr><td>」の前に「¥t」をいくつか加えても良い。
  9. 出来た HTML 断片をコピーし、HTML エディタ VS Code 側にペースト。
  10. ブラウザで閲覧すると、⬇のようになる。

⬆のままでは table としてあまりに素朴なので、⬇のように CSS で装飾する。

● CSS
  • table.prefectures {
    margin: 20px auto; width: 600px; border-collapse: collapse; border: gray solid 2px;
    & th,td {padding: 3px 5px;}
    & th {border: gray solid 2px; background-color: lavender;}
    & td {border: gray solid 1px; border: gray solid 2px; background-color: lavender;}
    & tr > td:first-of-type {background-color: lavender; border-right: gray solid 2px;}
    & tr > td:nth-of-type(3) {text-align: right;}
  • }
都県名都県庁所在地人口(万人)都県の木都県の花都県の鳥
東京都東京23区14254イチョウソメイヨシノユリカモメ
神奈川県横浜市923イチョウヤマユリカモメ
埼玉県さいたま市733ケヤキサクラソウシラコバト
千葉県千葉市628マキ菜の花ホオジロ
茨城県水戸市280ウメバラヒバリ
栃木県宇都宮市187トチノキヤシオツツジオオルリ
群馬県前橋市188クロマツレンゲツツジヤマドリ
  • この表は横スクロール可能。

なお、私がこの変換に「秀丸エディタ」を使ったのは、私が使っている Visual Studio CodeTeraPad秀丸エディタ の中で最も正規表現での置換を行いやすいからである。置換文字入力欄の右にある「▶」をクリックすると、アンチョコが表示される(下図の赤楕円でマーク)。また、「」(下図の青楕円)をクリックすると履歴を使うことも出来る。

秀丸での置換アンチョコ機能

アンチョコ機能はこのページを作成していて初めて気がついた。私の秀丸歴28年は何だったのであろう(爆)

Visual Studio Code では、置換はずっとシンプルである。「. *」(赤楕円マーク)のアイコンをクリックすると、正規表現が有効になる。なお、フォントの都合で改行の「¥n」とタブの「¥t」は、それぞれ「∖n」「∖t」になる。

TeraPad での置換ダイアログは、秀丸VS Code の中間。ただし、「¥n」と「¥t」はオプションで正規表現での置換対象となるが、「^」は対象にならないのが残念である。TeraPad は、ウィンドウのサイズを記憶してくれるし、オプションで「常に全面」にいてくれるので、普段他のソフトと同時起動していても邪魔にならず、重宝しているのに......。

蛇足だが、正規表現を利用しての置換は、メール・アドレスを含む名簿の Excel ファイルから同報送信用のリストを作成する時も役に立つ。縦に並んだメール・アドレスのリストを対象に、行末の改行文字(¥n)➡ カンマ「,」、或いはセミコロン「;」の置換を行えば良いのである。

以上、プログラミングをしないからと昨年(2024年)秋まで「正規表現」を敬遠していた私だが、こんな役に立つ機能があったのである。一般の会社員でもこんな使い方を憶えておくと便利であろう。