背景
仕事の作業の自動化に excel 生成が必要そうなので phpSpreadSheet を勉強することにしました。
ここでは環境構築の手順と勉強するときに参考になったサイトを紹介しております。
自分が作業する際に見るようの記事なので、読みづらかったら申し訳ありません。
環境
Amazon Linux release 2 (Karoo)
PHP 8.0.8 (cli)
Composer version 2.1.3
環境構築
php の導入
php を入れます。
sudo amazon-linux-extras install php8.0
phpSpreadSheet の導入
composer が必要なので導入します。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer.phar
sudo ln -s /usr/local/bin/composer.phar /usr/bin/composer.phar
alias composer="php /usr/bin/composer.phar"
alias sudo='sudo '
composer -V
Composer version 2.1.3 2021-06-09 16:31:20
関連パッケージのインストールします。
sudo yum install php-xml
sudo yum install php-gd
sudo yum install php-mbstring
phpSpreadSheet を導入します。
sudo composer require phpoffice/phpspreadsheet
動作確認
公式ページの Hello World を試します。
sudo vi index.php
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('HelloWorld.xlsx');
実行します。
sudo php index.php
生成したエクセルをローカルに持ってきて開く。
今回は TeraTerm の ssh scp の機能を利用した。
A1 のセルに Hello World が挿入されていたので動作確認OK!
参考サイト
公式サイト
公式サイトに phpSpreadSheet の使い方が書いてあります。
ネットで軽く調べて分からなかったら、公式サイトを見ます。
よく使う操作が簡潔に書いてあるサイト
リンクフリーとの記述がありましたので、掲載させていただきました。
デフォルトフォントの指定など、よく使いそうな操作が一通り記述しています。
セルのスタイルの指定が詳しく記述してあるサイト
セルのスタイルの記述が分からなくなったときに参考にさせていただく記事です。
ボーダーの種類等詳しく書いてます。
最後に
私が作業するときに見るようの記事ですので、まとめサイトのような構成になっております。
読みづらかったら申し訳ありません。