Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:PHPライブラリ&サンプル実践活用[厳選100]

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]

ExcelファイルをHTMLとして表示する(php-excel-reader)

2014年9月22日

Excelファイルを読み込んで、HTMLのテーブルとして出力するライブラリ「php-excel-reader」の基本的な使い方を説明する。書籍転載の18本目(書籍内の番号は「67」)。

WINGSプロジェクト 髙江 賢
  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、技術評論社発行の書籍『PHPライブラリ&サンプル実践活用[厳選100]』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 

 『PHPライブラリ&サンプル実践活用[厳選100]』の詳細や購入は技術評論社のサイト目次ページをご覧ください。

ご注意

 本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。

 php-excel-readerは、Excelファイルを読み込んで、HTMLのテーブルとして出力するライブラリです。手軽なわりに、Excelの見栄えをうまく再現した表示が可能です。

インストール方法と基本の使い方

 提供サイトからライブラリ本体(執筆時点では、php-excel-reader-2.21.zip)をダウンロードし、解凍後にできるexcel_reader2.phpを利用します。

 php-excel-readerの使い方は、リスト67-1のようにシンプルです。

HTML+PHP
<?php
require_once 'excel_reader2.php';

// 1Excelファイルの読み込み
$data = new Spreadsheet_Excel_Reader("sample.xls");

// 2HTMLの出力
$html = $data->dump(false,false);

// 3文字列の置換も可能
$html = str_replace('$$1$$', '置換された文字列', $html);
?>

<html>
<head>
<style>
table.excel {
  border-style:ridge;
  border-width:0;
  border-collapse:collapse;
  font-family:sans-serif;
  font-size:12px;
}
table.excel thead th, table.excel tbody th {
  background:#CCCCCC;
  border-style:ridge;
  border-width:1;
  text-align: center;
  vertical-align:bottom;
}
table.excel tbody th {
  text-align:center;
  width:20px;
}
table.excel tbody td {
  vertical-align:bottom;
}
table.excel tbody td {
  padding: 0 3px;
}
</style>
</head>

<body>
<?php echo $html; ?>
</body>
</html>
リスト67-1 php-excel-reader_sample.php

 読み込みたいExcelファイル(図67-1)を指定して、Spreadsheet_Excel_Readerオブジェクトを生成し(1)、dumpメソッドで、HTMLを出力するだけです(2)。dumpメソッドの2つの引数は、セルの見出し、セルの罫線を表示するか否かを指定するものです。

図67-1 元となるExcelデータ

 dumpメソッドで出力されるものは、HTMLの文字列ですので、元のファイルの文字列を置換することも可能です(3)。

 また、出力されるテーブルタグには、excelというクラス名が付加されます。

 ここでは図67-2のように、よりExcelらしい表示となるようにスタイルを設定しています。

図67-2 Excelデータのテーブル表示

 なお、サンプルのように1つのPHPファイルで表示可能ですが、Twigのようなテンプレートエンジンとともに利用することも可能です。dumpメソッドの出力は単なる文字列ですので、テンプレート変数にセットするだけです。

※以下では、本稿の前後を合わせて5回分(第14回~第18回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
14. markdown形式のテキストをHTMLに変換する(PHP Markdown)

Markdown形式のファイルをHTML形式のコードに変換するためのライブラリ「PHP Markdown」の基本的な使い方を説明する。書籍転載の14本目(書籍内の番号は「38」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
15. さまざまなグラフを動的に生成する(準備編)(JpGraph)

グラフ作成ライブラリ「JpGraph」を利用するまでの準備手順を説明する。書籍転載の15本目(書籍内の番号は「24」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
16. さまざまなグラフを動的に生成する(実行編)(JpGraph)

グラフ作成ライブラリJpGraphを使って、棒グラフ、折れ線グラフ、レーダーチャートを作成する方法を説明する。書籍転載の16本目(書籍内の番号は「25」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
17. Excelファイルを作成/操作する(PHPExcel)

Excelファイルを作成/操作できるライブラリ「PHPExcel」の基本的な使い方を説明する。書籍転載の17本目(書籍内の番号は「36」)。

書籍転載:PHPライブラリ&サンプル実践活用[厳選100]
18. 【現在、表示中】≫ ExcelファイルをHTMLとして表示する(php-excel-reader)

Excelファイルを読み込んで、HTMLのテーブルとして出力するライブラリ「php-excel-reader」の基本的な使い方を説明する。書籍転載の18本目(書籍内の番号は「67」)。

サイトからのお知らせ

Twitterでつぶやこう!