ホームページ >バックエンド開発 >PHPチュートリアル >PHP-ExcelReader: Excel ファイルの解析に使用される PHP クラス ライブラリ

PHP-ExcelReader: Excel ファイルの解析に使用される PHP クラス ライブラリ

WBOY
WBOYオリジナル
2016-06-13 12:12:561104ブラウズ

PHP-ExcelReader: Excel ファイルを解析するための PHP クラス ライブラリ

PHP-ExcelReader は PHP に基づいたオープン ソース プロジェクトであり、その機能は Excel ファイルを解析することです。

PHP-ExcelReader の公式 Web サイトは次のとおりです。

http://phpexcelreader.sourceforge.net/

ダウンロードしたファイルの構造は次のとおりです。


このうち、Excel ディレクトリにある 2 つのファイル Reader.php と oleread.inc は、Excel の解析に必要なクラスとメソッドです。それぞれ 2 つのファイルに書き込まれます。特に、example.php と example2.php の 2 つのファイルはサンプル プログラムであり、jxlwtest.xls ファイルはサンプル プログラムが解析する必要があるファイルであり、残りの 2 つのファイルは Readme ファイルです。

PHP-ExcelReader の使用法は比較的簡単で、次の 4 行のコードが必要です:

[php] plaincopy を表示
  1. require_once('Excel/reader.php') ; >// Excel/reader.php ファイルを参照し、クラス ライブラリをロードします
  2. $reader = new Spreadsheet_Excel_Reader(); // 解析クラス Spreadsheet_Excel_Reader
  3. $reader->setOutputEncoding("CP1251") > $reader->read(
  4. "jxlwtest.xls") ;実行後、Excel ファイルが解析されます。解析された結果は配列 $reader->sheets[0] にあり、これには maxrow、maxcol、numRows、numCols、cells、cellsInfo の 6 つの項目が含まれます。 numRows (行番号)、numCols (列数)、cells (セルの内容) です。 Excel ファイルの特定のデータ情報を取得するには、$reader->sheets[0]["cells"] 配列を走査するだけです。配列の形式は $reader->sheets[0]["cells"][][] =
の値の次元配列。行インデックスと列インデックスは 1 から始まります。

次の点に注意してください: 1. Excel/reader.php ファイルには、require_once を含む oleread.inc ファイルが既に組み込まれています。したがって、呼び出すときに oleread.inc をロードする必要はありません。

2.

公式 Excel ファイル jxlwtest.xls が破損しているため、読み取ったり解析したりできません。

3.

元の Excel/reader.php ファイル (下記) の 31 行目でエラーが発生します:

require_once 'Spreadsheet/Excel/Reader/OLERead.php ' ;

Spreadsheet/Excel/Reader/OLERead.php ファイルが存在しないことが原因です。実際、ここで必要なファイルは Excel/oleread.inc です。require_once の後のファイル名を「oleread.inc」に変更するだけです。

4. 元の Excel/reader.php ファイルの 261 行目では、次の警告が表示されます。

: Assigning thereturn value new by Reference は非推奨です

その理由は、この行の =& 記号が PHP 5.3 で非推奨になったためです。ここでのこの記号の役割に応じて、= に変更するだけです。

5.

PHP-ExcelReader は Excel 2007 ドキュメントの解析をサポートしていません。つまり、拡張子が xlsx の Excel ファイルは、このクラス ライブラリを使用して解析することはできません。拡張子が xls の Excel ファイル Excel ファイル。

6.

PHP-ExcelReader の設定エンコード方法は、iconv コマンドに基づいています。 setOutputEncoding メソッドのパラメータは、設定する必要がある文字セットの名前です。この方法を有効にするには、ローカル PHP 環境に iconv 拡張機能をインストールする必要があります。ローカル PHP 環境に iconv 拡張機能がない場合、PHP-ExcelReader のエンコード方式はデフォルトで Unicode になります。 iconv コマンドについては、次のリンクを参照してください:

http://www.cnblogs.com/xuxm2007/archive/2010/11/09/1872379.html

7. PHP-ExceReader では、整数の解析時に精度エラーが発生する可能性があります。たとえば、58 は原因不明の 57.5 として解析されます。できることは、解析後にデータを確認し、必要に応じて丸めることだけです。

8. PHP-ExcelReader は、Excel ファイル内の空白セルを直接スキップして結果配列に格納しないか、0 または "" (空の文字列) として保存します。

PHP-ExcelReader は PHP に基づいたオープン ソース プロジェクトであり、その機能は Excel ファイルを解析することです。

PHP-ExcelReader の公式 Web サイトは次のとおりです。

http://phpexcelreader.sourceforge.net/

ダウンロードしたファイルの構造は次のとおりです。


このうち、Excel ディレクトリにある 2 つのファイル Reader.php と oleread.inc は、Excel の解析に必要なクラスとメソッドです。それぞれ 2 つのファイルに書き込まれます。特に、example.php と example2.php の 2 つのファイルはサンプル プログラムであり、jxlwtest.xls ファイルはサンプル プログラムが解析する必要があるファイルであり、残りの 2 つのファイルは Readme ファイルです。

PHP-ExcelReader の使用法は比較的簡単で、次の 4 行のコードが必要です:

[php] plaincopy を表示
  1. require_once('Excel/reader.php') ; >// Excel/reader.php ファイルを参照し、クラス ライブラリをロードします
  2. $reader = new Spreadsheet_Excel_Reader(); // 解析クラス Spreadsheet_Excel_Reader
  3. $reader->setOutputEncoding("CP1251") > $reader->read(
  4. "jxlwtest.xls") ;実行後、Excel ファイルが解析されます。解析された結果は配列 $reader->sheets[0] にあり、これには maxrow、maxcol、numRows、numCols、cells、cellsInfo の 6 つの項目が含まれます。 numRows (行番号)、numCols (列数)、cells (セルの内容) です。 Excel ファイルの特定のデータ情報を取得するには、$reader->sheets[0]["cells"] 配列を走査するだけです。配列の形式は $reader->sheets[0]["cells"][][] =
の値の次元配列。行インデックスと列インデックスは 1 から始まります。

次の点に注意してください: 1. Excel/reader.php ファイルには、require_once を含む oleread.inc ファイルが既に組み込まれています。したがって、呼び出すときに oleread.inc をロードする必要はありません。

2.

公式 Excel ファイル jxlwtest.xls が破損しているため、読み取ったり解析したりできません。

3.

元の Excel/reader.php ファイル (下記) の 31 行目でエラーが発生します:

require_once 'Spreadsheet/Excel/Reader/OLERead.php ' ;

Spreadsheet/Excel/Reader/OLERead.php ファイルが存在しないことが原因です。実際、ここで必要なファイルは Excel/oleread.inc です。require_once の後のファイル名を「oleread.inc」に変更するだけです。

4. 元の Excel/reader.php ファイルの 261 行目では、次の警告が表示されます。

: Assigning thereturn value new by Reference は非推奨です

その理由は、この行の =& 記号が PHP 5.3 で非推奨になったためです。ここでのこの記号の役割に応じて、= に変更するだけです。

5.

PHP-ExcelReader は Excel 2007 ドキュメントの解析をサポートしていません。つまり、拡張子が xlsx の Excel ファイルは、このクラス ライブラリを使用して解析することはできません。拡張子が xls の Excel ファイル Excel ファイル。

6. PHP-ExcelReader のエンコード方法は、iconv コマンドに基づいています。 setOutputEncoding メソッドのパラメータは、設定する必要がある文字セットの名前です。この方法を有効にするには、ローカル PHP 環境に iconv 拡張機能をインストールする必要があります。ローカル PHP 環境に iconv 拡張機能がない場合、PHP-ExcelReader のエンコード方式はデフォルトで Unicode になります。 iconv コマンドについては、次のリンクを参照してください:

http://www.cnblogs.com/xuxm2007/archive/2010/11/09/1872379.html

7 . PHP-ExceReader では、整数を解析するときに精度エラーが発生する可能性があります。たとえば、58 は不明な理由で 57.5 として解析されます。できることは、解析後にデータを確認し、必要に応じて丸めることだけです。

8. PHP-ExcelReader は、Excel ファイル内の空白セルを直接スキップして結果配列に格納しないか、0 または "" (空の文字列) として保存します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。