PHP
PHPExcel
PhpSpreadsheet

PHPExcelからPhpSpreadsheetへ移行

More than 1 year has passed since last update.

公式ドキュメントを参考に移行作業を行ったのでメモしておきます。


結論

列番号を随所で指定しているような使い方じゃなかったらさくっと移行できそう


作業メモ

PhpSpreadsheetインストール

$ composer require phpoffice/phpspreadsheet:^1.0.0

PhpExcelアンインストール

$ composer remove phpoffice/phpexcel

公式の移行スクリプト実行

# アプリケーションのコードディレクトリに移動しておく

$ cd src/
$ ./../vendor/phpoffice/phpspreadsheet/bin/migrate-from-phpexcel

createReader()/createWriter()で使っているショートネームを置換(ここはプロジェクトによって異なるかと)

$ grep -nrE -l '(createReader|createWriter)' . | xargs sed -i -e 's/Excel2007/Xlsx/g'

$ grep -nrE -l '(createReader|createWriter)' . | xargs sed -i -e 's/Excel5/Xls/g'

deprecatedなメソッドを置換(ここはプロジェクトによって異なるかと)

$ grep -nr -l '>getDefaultStyle()' | xargs sed -i -e 's/>getDefaultStyle()/>getParent()->getDefaultStyle()/g'

列番号が0始まりだったのが1始まりになったので、列番号を直接指定している所を修正。

以上です!