PHP(ピー・エイチ・ピー)

PHPExcelを使ってエクセルを出力

弊社のお客様はほぼ不動産業者様ということで、

時々物件データの図面をエクセルで出力したいという要望があります。

 

そんな場合に使用するのがPHPExcelです。

 

http://phpexcel.codeplex.com/
からZIPファイルをダウンロードして解凍すると解答ディレクトリの中に「Classes」というディレクトリがあるので、

それを任意の場所に設定します。

 

で、

まずはPHPExcelのライブラリを読み込んでやります。

require_once "Classes/PHPExcel.php";
require_once "Classes/PHPExcel/IOFactory.php";

※パスは各自の環境に合わせて変えてください。

 

次に、オブジェクトを生成して、シートの設定を行います

//オブジェクトを生成
$excel = new PHPExcel();
//シートの設定
$excel->setActiveSheetIndex(0);
$sheet = $excel->getActiveSheet();
//シート名を設定
$sheet->setTitle("sample");

ここまできたら、

次は試しに「A1」セルに値を入れて、エクセルを出力します。

//A1セルに値を設定する
$sheet->setCellValue("A1", "input here");
//出力(形式:Excel2007)
$writer = PHPExcel_IOFactory::createWriter($excel, "Excel2007");
$writer->save("data/sample.xlsx");

因みに、
Fatal error: Class 'XMLWriter' not found in /var/www/html/Classes/PHPExcel/Shared/XMLWriter.php on line 44
みたいないエラーが出ることがあります。

 

ターミナルなどに接続して、

# yum install php-xml

というコマンドを実行して「php-xml」をインストールしてやれば、

解決出来るようです。

 

もしくは、

別の形式(Excel5)でエクセルを出力する方法も有ります。
※コードは以下の様になります。

require_once "Classes/PHPExcel.php";
require_once "Classes/PHPExcel/IOFactory.php";
//※パスは各自の環境に合わせて変えてください。

//オブジェクトを生成
$excel = new PHPExcel();
//シートの設定
$excel->setActiveSheetIndex(0);
$sheet = $excel->getActiveSheet();
//シート名を設定
$sheet->setTitle("sample");

//A1セルに値を設定する
$sheet->setCellValue("A1", "input here");
//出力(形式:Excel5)
$writer = PHPExcel_IOFactory::createWriter($excel, "Excel5");
$writer->save("data/sample.xls");

因みに、

通常はサーバー上に出力するよりも、

ダウンロード用のダイアログ画面を立ち上げて

PCのローカルに保存することの方が多いと思います。

 

その方法は以下に記載しています。
[ エクセルをダウンロード ]

 

また、今回の様な図面を出力する場合、

雛型となるエクセルファイルが存在することが多いので、

そのような場合には、

エクセルのテンプレートファイルを作成して読み込んでやれば、

便利です。

 

その方法は以下のブログに記載しています。
[ テンプレートを使用してエクセルを出力 ]

 

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP