1. 製品
  2.   スプレッドシート
  3.   PHP
  4.   PHPSpreadsheet

PHPSpreadsheet

 
 

スプレッドシート ファイル用のオープン ソース PHP ライブラリ

Microsoft Excel および LibreOffice Calc ファイルの読み取り、書き込み、操作、および処理。

PHPSpreadsheet は、Microsoft Excel および LibreOffice Calc のさまざまなスプレッドシート ファイル形式と対話して利用できる一連のクラスを含むオープン ソース ライブラリです。 PHPSpreadsheet は、数値、数式、画像などのさまざまなタイプのデータを保持するためのセルを含む、1 つ以上のワークシートを含むスプレッドシートをサポートしています。

Previous Next

PHPSpreadsheet の概要

まず、PhpSpreadsheet を使用して開発するには、PHP バージョン 7.1 以降が必要です。 PhpSpreadsheet をプロジェクトにインストールするための推奨される方法は、composer を使用することです。プロジェクトのルート ディレクトリでターミナルを開き、次のコマンドを実行します。

ここにコマンドがあります

 composer require phpoffice/phpspreadsheet 

Composer には、コマンド ラインから直接実行できる便利なインストーラーが用意されています。このファイルを自由にダウンロードするか、GitHub で確認してください。インストールには 2 つの方法があります。作曲。プロジェクトの一部としてローカルにインストールするか、システム全体の実行可能ファイルとしてグローバルにインストールします。

スプレッドシート セルの操作

PHPSpreadsheet を使用すると、セルにアクセスし、その値を座標で設定できます。新しいセルを作成して数式を設定することもできます。日付、時刻、先頭にゼロを付けた数値など、さまざまな種類のデータをセルに表示するように構成することもできます。 PHPSpreadsheet では、配列からセルの範囲を設定したり、反復子またはインデックスを使用してセルをループしたりすることもできます。ユーザーフレンドリーなデータ入力を可能にする値バインダーを使用することもできます。

新しい XLSX を作成する - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');

オートフィルターの作成と適用

PHPSpreadsheet を使用すると、オート フィルター範囲を適用して、オート フィルターで定義した条件に一致する行のみを除外して表示できます。フィルターを添加物として複数の列に適用できます。

PHPSpreadsheet を使用すると、ワークシートにオートフィルター領域を設定できます。自動フィルター式を作成、読み取り、書き込みできます。さらに、単純なフィルター、空白の一致、DateGroup フィルター、カスタム フィルター、動的フィルター、トップ 10 フィルターなど、さまざまな種類のフィルターを使用できます。

XLSX で自動フィルターを適用する - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
  ->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
  ->createRule()
  ->setRule(
    Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
    'Germany'
  );
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');

式計算エンジン

ビジネス スプレッドシートで基本レベルから高度なレベルの計算を実行するには、PHPSpreadsheet の数式計算エンジンを簡単に呼び出すことができます。

PHPSpreadsheet の数式パーサーは、行/列の挿入/削除中に数式を自動的に調整できます。 Microsoft Excel の数式は、実行前に PHP コードに変換されます。パフォーマンスを向上させるために、計算キャッシュを使用して式の結果を保持します。同様に、個々のワークシートは個別のキャッシュによって維持されます。

 日本