葛飾でひっそり暮らすIT屋の G Suite メモ

Google Apps で快適業務ライフなノウハウを伝えます

【PHP】Spreadsheet や Excel のリストを ウェブページに表示する方法

Excel を使わなくなって久しいわたくし。Google Spreadsheet 大好きすぎてセルの隅っこでパワプロやり続けて過ごしたいくらいです。

冗談はさておき。

ウェブサイト上の更新情報やイベントのリスト、いちいち HTML を書き換えたり、WordPress で編集したりするの面倒だと思いませんか?

もしも、情報のリストを Excel や Google Spreadsheet で管理して、それをウェブ上に反映できたらって思いません?

そういったときに、PHP を使えると便利です。あ、あと Google Apps Script か VBA も。

この記事では Google Spreadsheet でイベントのリストを管理して、それをウェブサイトの反映させる方法を紹介します。

動きのイメージは下の動画のような感じになります。

youtu.be

Spreadsheet のリストを編集した後、データを送るプログラムを実行するとウェブページにその情報が反映されるという動きです。

そのために必要なプログラムは下記の GitHub においてあります。Codeigniter というフレームワークがベースになっているのですが、GitHub からコードをコピーするだけで動きます。

github.com

エックスサーバーでは動きました。他の環境では、すみませんがちょっとわかりません。

ちなみに、View のタグで $list['開始日時'] といったようなものがいくつかありますが。 [] 内の語句はスプレッドシートの1行目の文字を入れるとその列のデータが入るようになっています。

なので、スプレッドシートで項目を増やしたり、項目名を変えたい場合はスプレッドシートの項目名と、コードのカッコ内の文字を合わせればそれが表示されるようになっています。

ちなみに、Google Spreadsheet のスクリプトは下記のような内容です。

なんで CSV を送るようにしているのか。今時は JSON じゃないの? と思うかもしれませんが、Excel VBA だと JSON を生成するよりも CSV を生成するほうが楽だと思ったのでそっちとの互換性を考慮して。

Excel は Unicode とか JSON の対応がイマイチですね。なんとかして欲しいもんです。

というわけで、結構駆け足で書いたので、PHP を理解できる人でないとこの記事を理解できないかもしれないですね...

といっても、そもそも PHP が理解できないと管理しきれないと思いますが。

こうしたプログラムを作れると、業務上のいろいろなことが解決できるので、小さな会社であっても PHP のプログラマーは一人くらい置いておいたほうがいいと思うんですよね。

今時、ウェブを使わないということはほとんど無いと思いますし。