Cara menggunakan rangka kerja Hyperf untuk eksport Excel
Mengeksport data ke Excel adalah salah satu keperluan yang sering kita hadapi semasa proses pembangunan. Di bawah rangka kerja Hyperf, kita boleh menggunakan PhpSpreadsheet perpustakaan pihak ketiga untuk melaksanakan fungsi eksport Excel. Artikel ini akan memperkenalkan secara terperinci cara menggunakan rangka kerja Hyperf untuk eksport Excel dan memberikan contoh kod khusus.
1. Pasang perpustakaan bergantung
Pertama, anda perlu memasang perpustakaan PhpSpreadsheet dalam projek rangka kerja Hyperf. Jalankan arahan berikut dalam direktori akar projek:
composer require phpoffice/phpspreadsheet
2. Buat kelas eksport
Kami mula-mula mencipta kelas eksport Excel untuk merangkum pelaksanaan khusus fungsi eksport. Cipta fail ExcelExporter.php
dalam direktori AppUtils
Kod adalah seperti berikut: 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('导出成功'); } }
eksport
menerima. empat parameter: $data
: Data yang akan dieksport, tatasusunan dua dimensi
$fileName
: Nama fail yang dieksport, termasuk laluan failrrreee
Dalam contoh di atas, kami mensimulasikan set data maklumat pengguna, menetapkan pengepala dan nama fail yang dieksport. Selepas memanggil kaedah eksport, fail Excel berjaya dieksport dan gesaan bahawa eksport berjaya dikembalikan. 🎜🎜4. Ringkasan🎜🎜Menggunakan rangka kerja Hyperf untuk mengeksport Excel, anda boleh menggunakan fungsi yang disediakan oleh perpustakaan PhpSpreadsheet untuk melaksanakannya dengan merangkum kelas eksport. Melalui contoh kod di atas, kita boleh melaksanakan fungsi mengeksport data ke fail Excel dengan cepat. Pada masa yang sama, kami juga boleh melanjutkan kelas eksport mengikut keperluan sebenar untuk memenuhi keperluan eksport yang lebih kompleks. 🎜Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk eksport Excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!