🍑
[PHP]PHPExcelとPhpSpreadsheetの比較
PHPでのExcel操作に関し、PHPExcelとPHPSpreadsheetを比較したので覚え書き。
概要
共通点
- いずれもPHPOfficeシリーズのひとつ
- スプレッドシートファイルフォーマットの読み込み/書き込みができるライブラリ
PHPExcel
- 2015年に最終バージョン1.8.1をリリースした後、2017年非推奨 → 2019年にアーカイブされた
PHPSpreadsheet
- PHPExcelの後継で、互換性はなく、品質がよくなっている
- 名前にSpreadsheetとあるが、Excelファイルの操作も可能
比較
表でその違いを比較してみました
PHPExcel | PHPSpreadsheet | |
---|---|---|
リポジトリ | https://github.com/PHPOffice/PHPExcel | https://github.com/PHPOffice/PhpSpreadsheet |
PHPのバージョン | 5.2以上 ( changelog.txtとPHPのリリース履歴の内容から、~5.6と思われる) |
7.3以上 (2022/01/23現在:PHP対象バージョンのサポート終了後6ヶ月までメンテナンスされる) |
ドキュメント |
概要 サンプルコード PHPExcel developer documentation.doc - PHPOffice/PHPExcel - GitHub |
PhpSpreadsheet Documentation |
対象ファイル(読み) | BIFF 5-8 (.xls) Excel 95とそれ以上のバージョン Office Open XML (.xlsx) Excel 2007とそれ以上のバージョン SpreadsheetML (.xml) Excel 2003 Open Document Format/OASIS (.ods) Gnumeric HTML SYLK CSV |
BIFF 5 (.xls) Excel 95 BIFF 8 (.xls) Excel 97とそれ以上のバージョン Office Open XML (.xlsx) Excel 2007とそれ以上のバージョン SpreadsheetML (.xml) Excel 2003 Open Document Format/OASIS (.ods) Gnumeric HTML SYLK CSV |
対象ファイル(書き) | BIFF 8 (.xls) Excel 95とそれ以上のバージョン Office Open XML (.xlsx) Excel 2007とそれ以上のバージョン HTML CSV |
BIFF 8 (.xls) Excel 97とそれ以上のバージョン Office Open XML (.xlsx) Excel 2007とそれ以上のバージョン Open Document Format/OASIS (.ods) HTML CSV |
まとめ
原則PHPSpreadsheetを使うべきだが、動作環境のPHPのバージョンや読み書きしたいファイルフォーマットのバージョンによっては、PHPExcelにせざるを得ない場合がある
Discussion