PHPExcel と PhpSpreadsheet の比較

このページでは、 PHPExcel と PhpSpreadSheet の違いをまとめています。

型の比較表

※ 変数名は「操作の比較表」で使用している例示の変数名です。

PHPExcel PhpSpreadsheet
ワークブック ($spreadsheet) PHPExcel PhpOffice\PhpSpreadsheet\Spreadsheet
ワークシート ($sheet) PHPExcel_Worksheet PhpOffice\PhpSpreadsheet\Worksheet\Worksheet
セル ($cell) PHPExcel_Cell PhpOffice\PhpSpreadsheet\Cell\Cell
名前付範囲 ($namedRange) PHPExcel_NamedRange PhpOffice\PhpSpreadsheet\NamedRange

操作の比較表

※ PhpSpreadsheet は下記があるものとします。(表の幅の都合上)

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
PHPExcel PhpSpreadsheet
ファイル読み込み (.xlsx) $spreadsheet = PHPExcel_IOFactory::createReader('Excel2007')->load($path); $spreadsheet = IOFactory::load($path);
または
$spreadsheet = IOFactory::createReader('Xlsx')->load($path);
ファイル書き込み (.xlsx) PHPExcel_IOFactory::createWriter($spreadsheet, 'Excel20067')->save($path); IOFactory::createWriter($spreadsheet, 'Xlsx')->save($path);
シート取得 $sheet = $spreadsheet->getSheetByName('シート名'); 同左
セルオブジェクト取得 $cell = $sheet->getCell('A1'); 同左
セル計算式取得 $sheet->getCell($address)->getValue(); 同左
セル計算値取得 $sheet->getCell($address)->getCalculatedValue(); 同左
名前付き値取得 (ブック) $namedRange = $spreadsheet->getNamedRange('名前');
$values = $namedRange->getWorksheet()->namedToArray('名前');
同左
名前付き値取得 (シート) $values = $sheet->namedToArray('名前'); 同左
計算キャッシュ無効化 PHPExcel_Calculation::getInstance()->setCalculationCacheEnabled(false); Calculation::getInstance($spreadsheet)->setCalculationCacheEnabled(false);