Excel エクスポートに Hyperf フレームワークを使用する方法
データを Excel にエクスポートすることは、開発プロセス中によく遭遇するニーズの 1 つです。 Hyperf フレームワークでは、サードパーティ ライブラリ PhpSpreadsheet を使用して Excel エクスポート機能を実装できます。この記事では、Excel エクスポートに Hyperf フレームワークを使用する方法を詳しく紹介し、具体的なコード例を示します。
1. 依存ライブラリのインストール
まず、Hyperf フレームワーク プロジェクトに PhpSpreadsheet ライブラリをインストールする必要があります。プロジェクトのルート ディレクトリで次のコマンドを実行します。
composer require phpoffice/phpspreadsheet
2. エクスポート クラスの作成
まず、エクスポート関数の特定の実装をカプセル化する Excel エクスポート クラスを作成します。 AppUtils
ディレクトリに ExcelExporter.php
ファイルを作成します。コードは次のとおりです:
namespace AppUtils; use PhpOfficePhpSpreadsheetSpreadsheet; use PhpOfficePhpSpreadsheetWriterXlsx; class ExcelExporter { public static function export($data, $fileName, $headers, $title = null) { // 创建Excel对象 $spreadsheet = new Spreadsheet(); // 设置工作表名称 $worksheet = $spreadsheet->getActiveSheet(); $worksheet->setTitle($title ?: 'Sheet1'); // 写入表头 foreach ($headers as $key => $header) { $column = chr(65 + $key); // 列名,如A、B、C... $worksheet->setCellValue($column.'1', $header); } // 写入数据 $row = 2; // 数据行起始行号 foreach ($data as $item) { foreach ($item as $key => $value) { $column = chr(65 + $key); // 列名,如A、B、C... $worksheet->setCellValue($column.$row, $value); } $row++; } // 导出Excel文件 $writer = new Xlsx($spreadsheet); $writer->save($fileName); } }
上記のコードでは、export
メソッド
: エクスポートするデータ、2 次元配列
: エクスポートされたファイル名、ファイルパスを含む
: ヘッダー、1次元配列
: ワークシート名、オプションのパラメーター、デフォルトは Sheet1
<?php namespace AppController; use AppUtilsExcelExporter; use HyperfHttpServerAnnotationAutoController; /** * @AutoController() */ class UserController extends AbstractController { public function export() { // 模拟数据 $data = [ ['id' => 1, 'name' => 'Tom', 'age' => 18], ['id' => 2, 'name' => 'Jerry', 'age' => 20], ['id' => 3, 'name' => 'Alice', 'age' => 22], ]; // 表头 $headers = ['ID', '姓名', '年龄']; // 文件名 $fileName = '/path/to/export/user.xlsx'; // 调用导出方法 ExcelExporter::export($data, $fileName, $headers, '用户信息'); return $this->success('导出成功'); } }
以上がExcel エクスポートに Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。