ホームページ  >  記事  >  バックエンド開発  >  PHPでEXCELを読む方法

PHPでEXCELを読む方法

WBOY
WBOYオリジナル
2016-08-08 09:31:061484ブラウズ

PHP で EXCEL を読み取るには 3 つの一般的に使用される方法があり、それぞれに独自の長所と短所があります。個人的には、プラットフォーム間で使用できる 3 番目の方法をお勧めします。

1. .csv形式で読み込みます
.xls を .csv テキスト形式に変換し、PHP を使用してファイルを分析します。これは、PHP によるテキストの分析と何ら変わりません。
利点: クロスプラットフォーム、比較的効率が高く、読み取りと書き込みが可能です。
欠点: .csv ファイルのみを直接使用できます。.xls バイナリ ファイルを受け入れることが多い場合は、手動で変換する必要があり、自動化することはできません。 1 つのファイルに存在する SHEET は 1 つだけです。

PHP には独自の Analysis.csv 関数があります: fgetcsv

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle fopen()、popen()、または fsockopen() によって生成される有効なファイル ポインター。
長さ (オプション) は、CVS ファイル内の最長の行より大きくなければなりません。このパラメータは、PHP 5 ではオプションです。このパラメータを省略した場合(PHP 5.0.4 以降のバージョンでは 0 に設定)、長さに制限はありませんが、実行効率に影響を与える可能性があります。
delimiter (オプション) はフィールドの区切り文字 (1 文字のみ使用可能) を設定します。デフォルト値はカンマです。
enclosure (オプション) はフィールドの囲み文字 (1 文字のみ許可) を設定します。デフォルト値は二重引用符です。このパラメータは PHP 4.3.0 で追加されました。 fgets() と似ていますが、 fgetcsv() は読み取った行を解析し、CSV 形式でフィールドを検索し、それらのフィールドを含む配列を返します。
fgetcsv() は、ファイルの終わりに達した場合など、エラーが発生した場合に FALSE を返します。
注: CSV ファイル内の空行は、単一の null フィールドを含む配列として返され、エラーとして扱われません。

もちろん、文字列を自分で手動で分析することもできます。

例:

リーリー

fputcsv 関数を使用して行を CSV にフォーマットし、ファイル ポインターを書き込むこともできます。

2. ODBC リンクされたデータソース

利点: CVS、XLS などの複数の形式をサポートします。読み取りと書き込みをサポートし、標準 SQL 言語を使用し、SQLSERVER および MYSQL データベースとほぼ同じです。
欠点: Windows サーバーのみをサポートします

3. PHPカスタムクラス(ファイルが少し大きいので次の章に置きます)

利点: クロスプラットフォーム。一部のクラスは書き込み操作をサポートします。 .xls バイナリ ファイルをサポート

のtest.php $data->setOutputEncoding('CP1251');
を変更します

は $data->setOutputEncoding('CP936');

簡体字中国語は cp936、繁体字中国語は CP950、日本語は CP932 などに変更できます。

$data->read('three.xls') を独自の Excel ファイル名に変更します。

上記は、PHP で EXCEL を読む方法を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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