PHPでEXCELファイルを出力する

こんにちイワンコフ
奥さん、おたくの犬全体的に黄色いですなぁ。

今の業務でエクセルファイルの出力処理を行なっているので
勉強していきたいと思います!

まず開発フォルダにPhpSpredsheetというライブラリをcomposerよりインストールします。

composer require phpoffice/phpspreadsheet

インストールが終わったので、まずは新規ブックを作成してセルA1に奥さんと表示される処理をやっていきます。

<?php
require 'vendor/autoload.php';

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

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '奥さん');

$writer = new Xlsx($spreadsheet);
$writer->save('奥さん.xlsx');
?>

アクティブシートを選択して、A1に値を入れて新しいファイルを作成するという流れですね。

今度は奥さんを編集してみましょう。

<?php
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;

$reader = new XlsxReader();
$spreadsheet = $reader->load('奥さん.xlsx');
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'サンタズリトルヘルパー');

$writer = new XlsxWriter($spreadsheet);
$writer->save('奥さん.xlsx');
?>

Readerというクラスが出てきました。
Readerで既存のファイルを読み込んで編集して保存するというわかりやすい流れですね。

プログラミングで操作するってなるとなんとなく難しい印象を受けてしまいますが、
結局人間がやる動作を一つずつ細かく司令してやるだけなんですね。
普段自分がやっている行動も司令されていると意識して考えると、何か面白いことに気づくかもわかりませんね。