RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

PHPのライブラリ「PhpSpreadsheet」でExcelファイルの読み書きする

f:id:tech-rakus:20200722203411p:plain

はじめに

こんにちは。「ChatDealer」の開発に携わっているy_kwmtです。
Excelファイルをプログラムで楽に書き出す方法を調べていたら
PHPのライブラリを用いてExcelファイルを書き出す方法を見つけました。

PhpSpreadsheetとは

PhpSpreadsheetは、Excelなどの様々なスプレッドシートファイル形式を読み書きできるライブラリです。 今回はそのPHPのライブラリ「PhpSpreadsheet」について紹介します。

PhpSpreadsheetのインストール

Composer を使用してプロジェクトに「PhpSpreadsheet」をインストールします。
PHPバージョンは7.2以降が必須となります。

composer require phpoffice/phpspreadsheet

コーディング

Excelファイル作成プログラム「index.php」を作成します。
下記のコードで簡単な点数表を作成します。

<?php

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// スプレッドシート作成
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// 値とセルを指定
$sheet->setCellValue('B1', '英語');
$sheet->setCellValue('C1', '数学');
$sheet->setCellValue('A2', 'Aさん');
$sheet->setCellValue('A3', 'Bさん');
$sheet->setCellValue('B2', '90');
$sheet->setCellValue('B3', '80');
$sheet->setCellValue('C2', '70');
$sheet->setCellValue('C3', '95');

// Excelファイル書き出し
$writer = new Xlsx($spreadsheet);
$writer->save('score.xlsx');

PHPファイル実行

phpコマンドで先程作成した「index.php」を実行します。

php index.php

Excelファイル「score.xlsx」が作成されます。

f:id:y_kwmt:20200722090337p:plain

最後に

今回は「PhpSpreadsheet」を用いて簡単な点数表を作成しました。
この記事がPHPユーザーの参考になれば幸いです。
今後、作成したコードの改良を行い、複雑なExcelファイルをコマンド一発で作成できるようにしたいと思います。

参考にしたサイト

phpspreadsheet.readthedocs.io blitzgate.co.jp blitzgate.co.jp

Copyright © RAKUS Co., Ltd. All rights reserved.