Spout

 
 

ODS、XLSX、CSV ファイル用の PHP ライブラリ

Excel® (XLSX、CSV) および OpenOffice™ (ODS) からスプレッドシートを作成、読み取り、操作するためのオープン ソース PHP ライブラリ。

スパウトとは?

スパウトは、ODS、XLSX、CSV ファイルの読み取りと書き込みなど、スプレッドシート操作タスクでソフトウェア開発者を支援するオープン ソースの PHP ライブラリです。スパウトを使用すると、開発者は、セル、行、および境界線のスタイル設定を使用してゼロからスプレッドシートを作成したり、既存のファイルを読み込んで編集したりできます。

スパウトは、さまざまな種類のスプレッドシートを読み取って作成するためのシンプルで統合された API を提供するため、開発者にとって使いやすいです。また、コードの変更を最小限に抑えて、あるタイプのスプレッドシートから別のタイプのスプレッドシートに切り替えることもできます。メモリ使用量を非常に低く抑えながら、小さなスプレッドシート ファイルと非常に大きなスプレッドシート ファイルを処理できます。スプレッドシート ファイルの処理に必要なメモリは 3MB だけです。

Previous Next

スパウト PHP ライブラリのインストール方法

スパウトには PHP バージョン 7.1 以降が必要です。前提条件が満たされたら、Composer から Spout をインストールします。

Composer からスパウトをインストールする

$ composer require box/spout

ODS、XLSX、CSV を読み書きするための PHP ライブラリ

スパウトを使用すると、ソフトウェア開発者は 3 つの一般的な形式でスプレッドシート ファイルをゼロから作成できます。読み取り中、Spout はファイル拡張子に基づいてスプレッドシート リーダーの種類を推測します。拡張子が標準でない場合は、特定のリーダーを直接作成できます。

PHP 経由で ODS を読み取る

  1. ODS ファイル形式のリーダーを作成する
  2. ODS ファイル パスを load メソッドに渡して読み込みます
  3. getSheetIterator() を介して ODS ワークシートを反復処理します
  4. getRowIterator() を使用してワークシートの行を反復処理する
  5. ODS 行のセルを取得して読み書きする

スパウト経由で ODS を読み取る - PHP Excel ライブラリ

use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
  foreach ($sheet->getRowIterator() as $row) {
    // do stuff with the row
    $cells = $row->getCells();
    ...
  }
}
$reader->close();

PHP 経由で既存のスプレッドシートにデータを追加する

スパウトを使用すると、開発者は既存のスプレッドシートにデータを追加して更新することができます。新しいデータを既存のスプレッドシートに追加することは、非常に一般的な方法です。スパウト API は、大きなスプレッドシートを操作する際のメモリの問題を回避するために、完全なスプレッドシート表現をメモリに保持しません。スプレッドシートを変更するには、既存のものと同様の新しいインスタンスを作成し、必要なデータを新しいスプレッドシートに追加します。

特定のシートからのデータの読み取り

スパウト API を使用すると、PHP 開発者はスプレッドシート内の特定のシートにアクセスしてデータを読み取ることができます。通常、スプレッドシートには複数のワークシートが含まれています。ユーザーが 1 つのシートからのみデータを読み取り、他のシートをスキップすることに関心がある場合。ユーザーは、スプレッドシートの名前と位置を知っているだけで済みます。

 日本