PHPExcel エクセル表示

PHPExcel エクセル表示概要

PHPExcel は PHP でエクセルファイルを生成又は表示するためのライブラリです。
エクセルファイル生成についてはかなりの紹介記事がサイト上にありますが、 エクセルファイル表示についてはほとんどないようなので、 今回は、エクセルファイルの内容をなるべく忠実に、ほぼ忠実に表示するファイルを 作成したいと思います。
実は参考となるサイト
WEBページにEXCELを表示する
を見付けたのです。
このブログを書いた人は Atsuko さん。
酉年生まれと言っている、それと、4歳の娘さんがいるらしい、 とすると、24歳か36歳?、プロの方と思います。
そこには、
「背景色以外の書式データも反映できるようなので、興味があればやってみてください。 ではノシ」
の挑戦状が・・・
そのまま利用させてもらおうとも思ったのですが、コ-ドを読み取っている内に何とかなりそうだったので 挑戦を受けて立つことに・・・・
でも浅はかでした。
深みにはまってしまったのです。
何とか脱出することができたので、まとめてみました。

PHPExcel エクセル表示挑戦燕返し

まずは、つばめノシをお付けして


つばめノシ

では一体何ができるようになったのか、具体的に・・・・

  1. PHPExcel を Composer として動作させる  

    PHPExcel はそもそもは Composer ライブラリー、 Composer の一員として迎えてあげたい。
    Composer から動くようにしました。

  2. 文字色

    背景色に加え、文字色の書式デ-タも読み込み、文字色も反映するようにしました。

  3. 文字の太さ

    文字の太さの書式デ-タも読み込み、太字も反映するようにしました。

  4. フォント、斜字、下線

    私はエクセルの中でフォント指定や斜字、下線を利用したことがないのでこれらの書式は反映していません。
    ただヒントだけは書き記したいと思います。

Composer PHPExcel インスト-ル

Composer がインスト-ルされていない方は、まずは
Composer インスト-ル1
を読んで、Composer をインスト-ルしてください。
Composer がインスト-ル済みの方は
PHPExcel のインスト-ル2
を読んで、PHPExcel をインスト-ルしてください。

単純な PHPExcel リ-ダファイル作成

Composer PHPExcel がエクセルファイルを読めるかを確認するための簡単なファイル
PHPExcel リ-ダファイル excel-read.php
を作成します。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「PHPExcel エクセル表示」の中の
PHPExcel エクセル表示 リ-ダ PHP ファイル
から見てください。
基本的な使い方を確認します。
まずは Composer のなかの PHPExcel パッケ-ジのなかの PHPExcel.php ファイルを読込みます。
require_once 'phpoffice/phpexcel/Classes/PHPExcel.php'
次ぎに、エクセルファイル test.xlsx を読み込んで、そのなかの指定セル A1 の内容 $v を表示する書式を明示します。
$v = PHPExcel_IOFactory::load('test.xlsx') -> getActiveSheet() -> getCell('A1') -> getCalculatedValue();
長いですね。
いくつかに区切って説明していきます。

  1. エクセルファイル読込インスタンス作成  

    読込インスタンスを作成します。
    $excel = PHPExcel_IOFactory::load('test.xlsx');
    $excel の中にエクセル test.xlsx が読込まれました。

  2. シ-ト設定

    シ-トを設定をします。
    $sheet = $excel -> getActiveSheet();
    複数のシ-トがある時は、
    $sheet = $excel -> setActiveSheetIndex(0);
    のように記述します。
    ( )内には設定したいシ-ト番号を記入します。
    0 であれば最初のシ-トが指定されます。

  3. セル指定

    セル指定をしてその内容 $v を取得します。
    $v = $sheet -> getCell('A1') -> getCalculatedValue();
    もし、セルを ($j,$i) のように指定するのなら
    ('A1') は (0,1) とし、要するに A,B,C・・・ は 0,1,2・・・ のようにして、
    $v = $sheet -> getCellByColumnAndRow($j,$i) -> getCalculatedValue();
    とすれば、セル内容を取得することができます。
    なお、getCalculatedValue() の代わりに getValue() を使用すると 文字列 or 計算式 を取得してしまい、計算値を取得することはできません。

後は、取得したセル内容 $v を表示します。
echo "A1 = <br>".$v;

これで、単純な PHPExcel リ-ダファイル作成は完了です。
引き続き、ブラウザで PHPExcel リ-ダファイルを確認していきます。

長くなりましたのでここで一旦切りたいと思います。


ブラウザで PHPExcel リ-ダファイルを確認 に続く

63PearVillageに戻る