[php]PHPExcelの使い方

データベースで云々してたらExcelで書き出せるようにしろとか来たので。

環境

  • データベースバージョン5.6
  • PHPExcel1.8.0

ダウンロード

PHPExcel
右の「download」から。
PHPExcel   Home
「PHPExcel_1.8.0_doc.zip」が落ちてきた。

サーバーにアップロード

zipファイルを解答すると中身はこんな感じ。
無題
「Classes」フォルダをまるっと使う。
例えば今回は「excel」ってフォルダを作ってその中に入れる。
無題
上の画像で言うと「excel_create.php」がジェネレーターになる。
「Classes」は地味にファイルがいっぱい入ってるので、作業する前にサーバーに上げとくのがいいと思う。

Excelを生成する

PHPExcelを読み込む

PHPExcelの設置場所により2行目3行目をいじる。

フォーマットを設定する

基本的に使うのはだいたいこの辺りか。

「A1」みたいに普通にカラムを指定する場合と
「0, 1」みたいに数字だけで指定する場合がある。
ちゃんと調べてないけどバージョンの云々でそうなってんのかな。
数字の場合、「A1」は「0,1」、「B1」は「1,1」、「D5」は「3,5」になる。
なんで「A1」が「0,0」もしくは「1,1」じゃないんだろうね。

複数のカラムをまたいでその外側に罫線を引く場合は、
一旦該当カラム全部に線を引いて、
いらないところを削ったほうが楽かもしれない。
その時は、カラムとカラムの間には両カラムの線が入ってる状態なので、
例えばA1とB1の間の線を消したい場合、A1の右とB1の左を削る。

セルを結合した場合、例えば「A1:C4」で作ったとして、
罫線を引く時は「A1:C4」で指定する。
「A1」で引くと「A1」部分にしか線は引かれない。
でもテキストを入れるときは「A1」でいい。

セルはデフォルトで下位置左詰めなので、
都合に合わせて設定してあげないと不細工になりかねないので注意。

文字情報を記入する

これが基本形。

データベースから引っ張ってきて、データが入ってたら書き出すみたいな。
「bbb」は「***/***/***」みたいな感じでモノが入ってて、分割したい時の例。
テーブル選択のところは、実用性考えたら「excel/excel_create.php?id=***」みたいな感じで別ページから飛んでくるようにする時用。

出力形式とかファイル名を付ける

出力するっていうのはサーバーにエクセルデータが保存されること。
名前に日付を付けたら上書きされないのでいいかなと思ってつけてる。
ついでにファイルが混ざっちゃうと後々面倒なので、「create」ってフォルダに保存されるように指定。

ダウンロードのリンクを付ける

作る度に名前が変わるので、ファイルを変数化しておくととても便利。

まとめ

難易度的には何ら問題ないんだけど、手間が半端じゃない。
項目ズレとか超だるい。
一旦エクセルで完成形を作ってから、そこから地道にやっていこう。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です