PHPSpreadsheet
スプレッドシート ファイル用のオープン ソース PHP ライブラリ
Microsoft Excel および LibreOffice Calc ファイルの読み取り、書き込み、操作、および処理。
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 コードに変換されます。パフォーマンスを向上させるために、計算キャッシュを使用して式の結果を保持します。同様に、個々のワークシートは個別のキャッシュによって維持されます。