本家様 https://github.com/PHPOffice/PhpSpreadsheet
phpでExcelシートを作ったり、Excelシートを読み込める代物.
インストールはPHPのライブラリ管理ツール「Composer」経由で行われる。なのではじめのこの「Composer」を入れる
本家様はこちらhttps://getcomposer.org/
この「Download」から
phpのバージョンを確認してPHP7.2.5以上なら大丈夫.
[root@c ~]# php -v
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
[root@c ~]#
そうして、
[root@c ~]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
(composer-setup.phpがダウンロードされる)
[root@c ~]# ls -l composer-setup.php
-rw-r--r-- 1 root root 57721 Apr 5 16:36 composer-setup.php
[root@c ~]#
(取得したダウンローダーのチェックサムを取って違いがないのかの確認)
[root@c ~]# php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f(略
Installer verified
[root@c ~]#
(インストーラーを実行して、composer.pharを作り上げる)
[root@c ~]# php composer-setup.php
All settings correct for using Composer
Downloading...
Composer (version 2.3.3) successfully installed to: /root/composer.phar
Use it: php composer.phar
[root@c ~]# ls -l composer.phar
-rwxr-xr-x 1 root root 2693189 Apr 5 16:39 composer.phar
[root@c ~]#
(プログラムができたのでインストーラーを削除します)
[root@c ~]# php -r "unlink('composer-setup.php');"
最後に、/usr/local/binとかに配置
[root@c ~]# mv composer.phar /usr/local/bin/composer
バージョンを確認してみると
[saber@c ~]$ composer --version
Composer version 2.3.3 2022-04-01 22:15:35
[saber@c ~]$
composerがインストールできたので、そのcomposerを使って「PhpSpreadsheet」をインストールします
っでインストール場所ですが、ホームディレクトリ直下に置いて、それを利用するのもありですが、
プロジェクトフォルダにインストールがいいかな。ここでは「$HOME/excel」なるプロジェクトフォルダにて作業します
[saber@c ~]$ mkdir excel
[saber@c excel]$
[saber@c excel]$ composer require phpoffice/phpspreadsheet
[saber@c excel]$ ls -l
total 32
-rw-r--r-- 1 saber em 71 Apr 5 16:48 composer.json
-rw-r--r-- 1 saber em 25175 Apr 5 16:48 composer.lock
drwxr-xr-x 10 saber em 148 Apr 5 16:48 vendor/
[saber@c excel]$
「composer.json」「composer.json」「vendor/」が用意される.
簡単にはhttps://phpspreadsheet.readthedocs.io/en/latest/の「Hello World」でテスト
[saber@c excel]$ vi sample.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('hello world.xlsx');
[saber@c excel]$
っで実行
[saber@c excel]$ php -f sample.php
[saber@c excel]$ ls -l
total 44
-rw-r--r-- 1 saber em 71 Apr 5 16:48 composer.json
-rw-r--r-- 1 saber em 25175 Apr 5 16:48 composer.lock
-rw-r--r-- 1 saber em 6307 Apr 5 16:54 'hello world.xlsx'
-rw-r--r-- 1 saber em 314 Apr 5 16:54 sample.php
drwxr-xr-x 10 saber em 148 Apr 5 16:48 vendor/
[saber@c excel]$
と「hello world.xlsx」が作られる.
ファイルを開くと下記になる