PHPからエクセルファイルを編集可能にする。PHPで書かれたライブラリ。LGPL。
Microsoft Officeを扱う系のライブラリはよくあるが、PHPの場合はだいたいコレが鉄板なようだ。
読み取り、新規作成、編集可能。万能ではないがそれなりにいろいろできて助かる。
文字色セル色変更・行列挿入・罫線などの基本操作もできるし、関数を使用したセルを結果・式のどちらで取得するか選択できる。 ただしグラフとかスマートアートとかは扱えないため、それらが入ったファイルを開いて再保存すると、消えちゃう点に注意。
また、メモリ使用量は高め。
composer require phpoffice/phpexcel
<?php require_once __DIR__ . '/vendor/autoload.php'; // 読み込みリーダの設定 $csvReader = PHPExcel_IOFactory::createReader('CSV'); $csvReader->setDelimiter(','); // デリミタを変更可能 $csvReader->setInputEncoding('UTF-8'); // 読み込み $excel = $csvReader->load('test.csv'); // そのまま書き込み $xlsxWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $xlsxWriter->save('test.xlsx');
読み込みファイルタイプに指定できるのは、
書き込みは、Excel2007, Excel5, CSV, HTML, PDF。