Comment utiliser le framework Hyperf pour l'export Excel
L'exportation de données vers Excel est l'un des besoins que nous rencontrons souvent lors du processus de développement. Sous le framework Hyperf, nous pouvons utiliser la bibliothèque tierce PhpSpreadsheet pour implémenter la fonction d'export Excel. Cet article présentera en détail comment utiliser le framework Hyperf pour l'exportation Excel et fournira des exemples de code spécifiques.
1. Installer les bibliothèques dépendantes
Tout d'abord, vous devez installer la bibliothèque PhpSpreadsheet dans le projet de framework Hyperf. Exécutez la commande suivante dans le répertoire racine du projet :
composer require phpoffice/phpspreadsheet
2. Créez une classe d'exportation
Nous créons d'abord une classe d'exportation Excel pour encapsuler l'implémentation spécifique de la fonction d'exportation. Créez le fichier ExcelExporter.php
dans le répertoire AppUtils
Le code est le suivant : 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
方法接收四个参数:
$data
: 需要导出的数据,二维数组$fileName
: 导出的文件名,含文件路径$headers
: 表头,一维数组$title
<?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('导出成功'); } }
export
reçoit. quatre paramètres : $data
: Les données à exporter, un tableau à deux dimensions
$fileName
: Le nom du fichier exporté, y compris le chemin du fichier$title
: nom de la feuille de calcul, paramètre facultatif, la valeur par défaut est Sheet13 . Utiliser les classes exportées Après avoir terminé l'écriture de la classe d'exportation, nous pouvons l'appeler dans le contrôleur qui doit exporter les données. Voici un exemple, prenant l'exportation des informations utilisateur comme exemple : rrreee
Dans l'exemple ci-dessus, nous avons simulé un ensemble de données d'informations utilisateur, défini l'en-tête et le nom du fichier exporté. Après avoir appelé la méthode d'exportation, le fichier Excel est exporté avec succès et une invite indiquant que l'exportation a réussi est renvoyée. 🎜🎜4. Résumé🎜🎜En utilisant le framework Hyperf pour l'export Excel, vous pouvez utiliser les fonctions fournies par la bibliothèque PhpSpreadsheet pour l'implémenter en encapsulant la classe d'export. Grâce à l'exemple de code ci-dessus, nous pouvons rapidement implémenter la fonction d'exportation de données vers des fichiers Excel. Dans le même temps, nous pouvons également étendre la classe d'exportation en fonction des besoins réels afin de répondre à des exigences d'exportation plus complexes. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!