![書籍転載:PHPライブラリ&サンプル実践活用[厳選100]](https:///re.buildinsider.net/web/bookphplib100/index/icon.l.png)
書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
Excelファイルを作成/操作する(PHPExcel)
Excelファイルを作成/操作できるライブラリ「PHPExcel」の基本的な使い方を説明する。書籍転載の17本目(書籍内の番号は「36」)。
書籍転載について
ご注意
本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。
PHPExcelは、PHPでMicrosoft社のExcelファイルを作成/操作するライブラリです。ライブラリの実行環境には、Excelがインストールされている必要はありません。このライブラリのみで、Excelファイルの作成/操作が可能です。
- 名称: PHPExcel
- URL: http://phpexcel.codeplex.com/
- インストール方法: include_path に配置
- ファイル: PHPExcel.php
インストール
PHPExcelのインストールは、配布サイトから圧縮ファイル(執筆時点では、PHPExcel_1.8.0_doc.zip)をダウンロードし、解凍後、必要なファイルをコピーするだけです。
ZIPファイルを解凍した中に、Classesというフォルダがありますので、それをそのまま必要な環境にコピーします。
基本のサンプル
リスト36-1は、新規にExcelファイルを作成し、文字列を書き込んだ後に保存するものです。図36-1のようなExcelファイルとなります。
<?php
require_once 'Classes/PHPExcel.php';
// 1PHPExcelオブジェクトの作成
$obj = new PHPExcel();
// 2プロパティ情報の編集
$obj->getProperties()->setCreator("Wings")->setTitle("サンプル");
// 3シートを指定して、セルに書き込む
$obj->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!')
->setCellValue('A5', '日本語の文字列');
// 4アクティブシート指定
$obj->getActiveSheet()->setCellValue('A8',"Hello\nWorld");
// 5行を指定して、高さを変更する
$obj->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);
// 6自動改行
$obj->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);
// 7Excel2007形式で保存する
$writer = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');
$writer->save('sample.xlsx');
|

まずは、PHPExcelオブジェクトを作成します(1)。このオブジェクトを通して、各操作を行います。
Excelファイルのプロパティは、getPropertiesメソッドで取得可能で、情報を書き込むことも可能です(2)。
セルの操作には、いくつかの方法があります。
3ではシートを番号で指定して、セルに文字列を書き込んでいます。setCellValueメソッドで、セルに書き込むことができます。日本語も利用可能ですが、文字コードをUTF-8にする必要があります。
getActiveSheetメソッドで、現在のシートを指定します(4)。getRowDimensionメソッドでは、行全体を指定することができ、setRowHeightメソッドで、高さ(単位はポイント)を指定しています(5)。setRowHeightに、-1を指定した場合は、高さが自動設定されます。
セルの書式を編集することもできます(6)。
なおPHPExcelでは、セルに改行コードを書き込んだだけでは改行しないので、明示的に、setWrapTextメソッドを実行します。
7では、ここで成したExcelファイルを、Excel 2007形式(拡張子が.xlsx)で保存しています。createWriterメソッドの第2引数を、Excel5とすると、Excel97-2003形式(.xls)で保存できます。
※以下では、本稿の前後を合わせて5回分(第14回~第18回)のみ表示しています。
連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。
![書籍転載:PHPライブラリ&サンプル実践活用[厳選100]](https:///re.buildinsider.net/web/bookphplib100/index/icon.s.png)
14. markdown形式のテキストをHTMLに変換する(PHP Markdown)
Markdown形式のファイルをHTML形式のコードに変換するためのライブラリ「PHP Markdown」の基本的な使い方を説明する。書籍転載の14本目(書籍内の番号は「38」)。
![書籍転載:PHPライブラリ&サンプル実践活用[厳選100]](https:///re.buildinsider.net/web/bookphplib100/index/icon.s.png)
16. さまざまなグラフを動的に生成する(実行編)(JpGraph)
グラフ作成ライブラリJpGraphを使って、棒グラフ、折れ線グラフ、レーダーチャートを作成する方法を説明する。書籍転載の16本目(書籍内の番号は「25」)。
![書籍転載:PHPライブラリ&サンプル実践活用[厳選100]](https:///re.buildinsider.net/web/bookphplib100/index/icon.s.png)
17. 【現在、表示中】≫ Excelファイルを作成/操作する(PHPExcel)
Excelファイルを作成/操作できるライブラリ「PHPExcel」の基本的な使い方を説明する。書籍転載の17本目(書籍内の番号は「36」)。
![書籍転載:PHPライブラリ&サンプル実践活用[厳選100]](https:///re.buildinsider.net/web/bookphplib100/index/icon.s.png)
18. ExcelファイルをHTMLとして表示する(php-excel-reader)
Excelファイルを読み込んで、HTMLのテーブルとして出力するライブラリ「php-excel-reader」の基本的な使い方を説明する。書籍転載の18本目(書籍内の番号は「67」)。