PHPでExcelファイルを出力するライブラリで「PHPExcel」があります。※現在はPhpSpreadsheetが推奨されていますのでこれから構築する方はPhpSpreadsheetを利用してください。
現在PHPExcelを利用していて、PhpSpreadsheetに変更できない方はPHPのバージョンアップをしても引き続きPHPExcelを使うことになるかと思います。
PHPのバージョンを8に変更した場合、PHPExcelでエラーが発生し動作しなかったため、対象方法について記載します。
PHPバージョンアップ前にはバックアップを取得
バージョンアップ作業を行う前にはプログラム関連をあらかじめバックアップしておきましょう。
- バックアッププラグインを利用する
- FTPツールにてサーバモジュールをローカルへダウンロードする
上記2点が簡単な方法となります。バックアップの取得方法についてはこちらの記事に具体的なプラグイン名など記載しています。
括弧書きを修正する
PHP8にバージョンアップをすると{ではなく(でくくる必要があります。
PHP8では動作しないソース
if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') {
PHP8で動作するソース
if ($dynamicRuleType[0] == 'M' || $dynamicRuleType[0] == 'Q') {
修正が必要なファイルは以下の通りです。
- AutoFilter.php
- Calculation.php
- Cell.php
- DefaultValueBinder.php
- Functions.php
- ReferenceHelper.php
- String.php
修正したプログラムをアップロードし、動作確認を行う
修正したプログラムファイルをFTPでアップロードします。PHPはファイルをサーバにアップロードするだけでビルドなどを行わずに最新状態にすることができます。あとはPHPExcelの動作確認をするためにExcelの出力などを行うことで正常動作確認ができます。