XAMPP環境でPhpSpreadsheetをインストールしてExcelを読み書きする方法

XAMPP環境でPhpSpreadsheetをインストールしてExcelを読み書きする方法です。

>画像

XAMPP環境でPhpSpreadsheetをインストールしてExcelを読み書きする方法

PHPでExcelの読み書きをする案件があり、調べたところ「PhpSpreadsheet」というライブラリを使えば、「新規Excelファイル作成」、「既存Excelファイルの読込」、「読込済みファイルの編集」などの操作ができることがわかりました。

環境はWindowsで、Webアプリケーションの開発環境である「XAMPP」下でExcel操作することを目的としています。

ここでは XAMPP環境でPhpSpreadsheetを使ってExcelを読み書きする方法 を紹介します。


PhpSpreadsheetとは

PhpSpreadsheetとは、Excelをはじめとする各種スプレッドシート形式のファイルを読み書きできるライブラリです。「新規Excelファイル作成」、「既存Excelファイルの読込」、「読込済みファイルの編集」など、一連の操作が可能です。PHPのバージョン7.2以降で使えます。

PhpSpreadsheetのインストール

それでは「PhpSpreadsheet」のインストールについて説明していきます。

インストール環境

筆者の環境は下記のようになっています。

  • OS: Windows 10 Pro 64-bit Ver.21H2
  • XAMPP: Ver.7.4.1
  • Control Panel: 3.2.4
  • PHP: 7.4.1

Composerインストール

Composerコマンドを実行する

composerコマンドができる任意のディレクトリで下記のコマンドを実行し、PhpSpreadsheetをインストールします。

ここでは「xampp/htdocs/examples/composer」で実行しています。

composer require phpoffice/phpspreadsheet

「7-ZIP」という圧縮・解凍ツールがインストールされている場合は、いったんアンインストールしておきましょう。なぜか以降のバッチ処理がエラーになります。

Composerコマンドを実行してPhpSpreadsheetをインストールする

実行後「composer.json」やvendorフォルダ内に「autoload.php」があればOKです。

PhpSpreadsheetインストール後のファイルやフォルダをチェックする

PhpSpreadsheetの使い方

PhpSpreadsheetを使うには、下記のような宣言をします。

require "./composer/vendor/autoload.php";

「xampp/htdocs/examples/」にphpファイルを置いた場合のパス設定です。

サンプルコードを書く

「xampp/htdocs/examples/」に、hello.phpファイルを作り、下記のコードを貼り付けてください。

<?php
require './composer/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');
?>

サンプルを実行する

下記のコードをコピーして、hello.phpを作成します。

php hello.php

おおおー、hello world.xlsxができたー!

PhpSpreadsheetのサンプルコードを実行してExcelファイルが作成された

もちろん、ブラウザから実行しても動作します。チェックしてみてください。ただし「localhost/exapmles/hello.php」ではアクセスできないのでご注意を。

詳しくは「XAMPPで「examples」というURLが503エラーとなるのを解消する方法」で解説しているので気になる方はチェックしてみてください。

まとめ

XAMPP環境でPhpSpreadsheetを使ってExcelを読み書きする方法を紹介しました。

さて、サンプルは動いたので、次は案件に合わせた仕様で作りこみをしなければ。JavaでPOIを使ったExcel操作はよくやるけど、よくハマるのは日付とか数値とかの扱いですよね。この辺りは慣れてきたら記事にしていこうと思います。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。