PHPを使用してExcel出力を行ため
PHPExcelのライブラリ「PhpSpreadsheet」を使用
まずは基本的なExcel出力を試してみました
PHPライブラリの準備
Composerのインストール
公式サイトから実行ファイル(.exe)をダウンロード
「Composer-Setup.exe」がダウンロードされます
「Composer-Setup.exe」を実行
どちらでも問題なし
今回は「Install for all users」を選択
Composerのインストール確認
コマンドプロンプトを起動
composer -V コマンドを実行
実行環境にcomposer.jsonを作成
C:\pleiades\xampp\htdocs
composer.json ファイルを作成
コマンドプロンプトにて次のコマンド実行
composer config platform.php 7.4.20
実行結果
PhpSpreadsheet インストール
コマンドプロンプトにて次のコマンドを実行
PhpSpreadsheetのインストールを行う
composer require phpoffice/phpspreadsheet
composer.jsonに
PhpSpreadsheetが追加された
Excel出力サンプルコード
簡単な表を出力してみた
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
// ライブラリ読込 require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // Spreadsheetオブジェクト生成 $objSpreadsheet = new Spreadsheet(); // シート設定 $objSheet = $objSpreadsheet->getActiveSheet(); // タイトル $objSheet->setCellValue('A1', 'Excel出力テスト'); // セルの結合 $objSheet->mergeCells('A1:C1'); $objSheet->setCellValue('A2', 'No'); $objSheet->setCellValue('A3', '1'); $objSheet->setCellValue('A4', '2'); $objSheet->setCellValue('A5', '3'); $objSheet->setCellValue('B2', '名称'); $objSheet->setCellValue('B3', 'テスト1'); $objSheet->setCellValue('B4', 'テスト2'); $objSheet->setCellValue('B5', 'テスト3'); // 書式「数字」を指定 $objSheet->setCellValue('C2', '金額'); $objSheet->setCellValueExplicit('C3', '10000', \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_NUMERIC); $objSheet->setCellValueExplicit('C4', '20000', \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_NUMERIC); $objSheet->setCellValueExplicit('C5', '30000', \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_NUMERIC); // ヘッダ部:太線 $objSheet->getStyle('A2:C2')->getBorders()->getAllBorders()->setBorderStyle('thick'); // データ部:細線 $objSheet->getStyle('A3:C5')->getBorders()->getAllBorders()->setBorderStyle('thin'); // XLSX形式オブジェクト生成 $objWriter = new Xlsx($objSpreadsheet); // Excelファイルの出力 $objWriter->save('test-excel-export.xlsx'); exit(); |
まとめ
準備は3ステップ
- Composerインストール
- composer.json作成
- PhpSpreadsheetインストール
コメント