本家様 https://github.com/PHPOffice/PhpSpreadsheet

phpでExcelシートを作ったり、Excelシートを読み込める代物.

インストールはPHPのライブラリ管理ツール「Composer」経由で行われる。なのではじめのこの「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 ~]$

下拵え「PhpSpreadsheet」

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」が作られる.
ファイルを開くと下記になる
2022y04m05d_165643592.png


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-04-05 (火) 16:58:19 (172d)