Structures_DataGrid_DataSource_Excel

Structures_DataGrid_DataSource_Excel -- Excel スプレッドシート データソースドライバ

説明

このクラスは、Excel スプレッドシート用のデータソースドライバです。

サポートする操作モード

このドライバは次の操作モードをサポートしています。

表 62-1このドライバがサポートする操作モード

モードサポートしている?
複数フィールドによる並べ替えno
レコードの追加、更新および削除no

オプション

このドライバは、以下のオプションを受け付けます。

表 62-2このドライバのオプション

オプション説明デフォルト値
fieldsarray データソースからどのフィールドを取得するか。空の配列を指定すると、 すべてのフィールドを取得します。 array(field1, field2, ...) 形式となります。 array()
generate_columnsbool ラベルつきの Structures_DataGrid_Column オブジェクトを作成します。 'labels' オプションを参照ください。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 false
headerboolExcel ファイルに見出し行を含めるかどうかを指定します。false
labelsarray データフィールドとラベルの対応。 'generate_columns' が true の場合にのみ使用します。 array(field => label, ...) 形式となります。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 array()
natsortboolean 配列のソートを自然順 (example1、Example2、test1、Test2) で行うか否 (Example2、Test2、example1、test1; つまり大文字が最初にくる) か。 false
primaryKeyarray レコードを一意に決定する識別子を含むフィールドの名前、 あるいは数値インデックス (複数のフィールドを指定するのは、 複合主キーの場合のみです)。 null

全般的な注意

Spreadsheet_Excel_Reader ("PHP-ExcelReader") は PEAR パッケージではありません。これは、SourceForge.net 上の http://sourceforge.net/projects/phpexcelreader/ にあります。

このクラスは、reader.php というファイルが Spreadsheet/Excel/ ディレクトリに存在するものとして作成されています。

注意してほしいのは、Spreadsheet_Excel_Reader の現在のバージョン (2i) では、read() メソッドの中で die() 文が用いられているということです。 die() 文は、reader.php の 171 行目にあります。そのせいで、 "file not found" エラーを PEAR で処理することができなくなっています。

そこで、この die() 文を例えば次のように書き換えることを推奨します。
return PEAR::raiseError('The filename ' . $sFileName . ' is not readable');
このクラスは、このように書き換えたコードにあわせて作成されており (とは言え、もちろん die() を用いたままのコードでも動作します)、 それによって正当なエラー処理ができるようになっています。