PhpSpreadsheet を使うには?

ショコラ
ショコラ

PhpSpreadsheet を使うには?

PHPExcel は PHP8 では動きませんので、PHP8 では PhpSpreadsheet でキメマス。

もっさん先輩
もっさん先輩

手順

PhpSpreadsheet でエクセルファイルを作成する手順。

  1. PHPコンテナを起動します。
docker run -it php:8 bash
  1. apt-get アップデートします。
apt-get update
  1. PhpSpreadsheet で使用する libgd-dev と libzip-devパッケージをインストールします。
apt-get install -y --no-install-recommends libgd-dev libzip-dev

––no-install-recommends
 オプション有り → 38.2 MB
 オプション無し → 38.5 MB

  1. PhpSpreadsheet で使用する gd と zip をインストールします。
docker-php-ext-install gd zip
  1. コンポーザーをインストールします。
curl -sS https://getcomposer.org/installer | php &&\
 mv composer.phar /usr/local/bin/composer &&\
 chmod a+x /usr/local/bin/composer
  1. コンポーザーで PhpSpreadsheet をインストールします。
composer require phpoffice/phpspreadsheet
  1. テストプログラムを作ってみます。
cat <<'EOF' > excel.php
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$book = new Spreadsheet();
$book->getActiveSheet()->fromArray(['なまえ','パスワード'],null,'A1',true);
$book->getActiveSheet()->setCellValue('A2','もっさん');
$book->getActiveSheet()->setCellValue('B2','123456');
$writer = new Xlsx($book);
$writer->save('test.xlsx');
EOF
  1. エクセルファイルを作成します。
php excel.php

エクセルが出来ました。

以上

関連記事