Maison > cadre php > Swoole > Comment utiliser le framework Hyperf pour l'export Excel

Comment utiliser le framework Hyperf pour l'export Excel

WBOY
Libérer: 2023-10-20 15:15:19
original
1256 Les gens l'ont consulté

Comment utiliser le framework Hyperf pour lexport Excel

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
Copier après la connexion

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);
    }
}
Copier après la connexion

以上代码中,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('导出成功');
        }
    }
    Copier après la connexion
    Dans le code ci-dessus, la méthode 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
  • $headers : en-tête, tableau unidimensionnel

  • $title : nom de la feuille de calcul, paramètre facultatif, la valeur par défaut est Sheet1

    3 . 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal