5

PHPを使用してxlsxファイルを読み取るための優れたライブラリを推奨できる人はいますか?

phpexcelを見てみたのですが、例からすると書き込みしかサポートしていないようですね?

4

2 に答える 2

12

PHPExcelをもう一度見てみましょう。PHPExcel には、Excel5 (xls)、Excel2007 (xlsx)、CSV、HTML、および PDF 用のライターがあります。Excel5 (xls)、Excel2007 (xlsx)、Excel 2003 XML、CSV、SYLK、および Open Office Calc のリーダー

それはすべてドキュメントで非常に明確です

編集(マニュアルから引用)

ファイルを PHPExcel に読み込む方法は 2 つあります。ファイル タイプの自動解決を使用する方法と、明示的に行う方法です。

自動ファイル タイプ解決は、PHPExcel で配布されるさまざまな PHPExcel_Reader_IReader をチェックします。それらのいずれかが指定されたファイル名をロードできる場合、ファイルはその PHPExcel_Reader_IReader を使用してロードされます。明示モードでは、どの PHPExcel_Reader_IReader を使用するかを指定する必要があります。

次のコード サンプルを使用して、自動ファイル タイプ解決モードで PHPExcel_IOFactory を使用して PHPExcel_Reader_IReader インスタンスを作成できます。

$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx");

この機能の典型的な用途は、ユーザーがアップロードしたファイルを読み取る必要があり、ユーザーが xls ファイルをアップロードしているか xlsx ファイルをアップロードしているかがわからない場合です。

リーダーにいくつかのプロパティを設定する必要がある場合 (たとえば、データの読み取りのみ、これについては後で詳しく説明します)、代わりに次のバリアントを使用することができます。

$objReader = PHPExcel_IOFactory::createReaderForFile("05featuredemo.xlsx");
$objReader->setReadDataOnly(true);
$objReader->load("05featuredemo.xlsx");

次のコード サンプルを使用して、明示モードで PHPExcel_IOFactory を使用して PHPExcel_Reader_IReader インスタンスを作成できます。

$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$objPHPExcel = $objReader->load("05featuredemo.xlsx");

編集(個人的な好み)

ローダーを try/catch でラップすることも価値があります

$fileName = '01simple.xlsx';
try {
    $objPHPExcel = PHPExcel_IOFactory::load($fileName);
} catch (Exception $e) {
    die("Error loading file: ".$e->getMessage()."<br />\n");
}
于 2010-07-15T07:35:20.917 に答える
1

「読む」が何を意味するかによります。

Office XML ファイルは、1 つ以上の XML ドキュメントを含む単なる zip ファイルです。古い XML パーサーは、それらを読み取ることができるはずです。

一方、データを使って有用で、興味深く、生産的なことを行うには、ある程度の労力が必要になる場合があります。

于 2010-07-15T03:53:46.120 に答える