使用ThinkPHP6,查询数据库数据,并导出Excel表格文件,PhpOffice
2023-03-31 18:261109
首先,需要安装phpoffice/phpspreadsheet扩展库来处理Excel文件。
安装phpoffice/phpspreadsheet扩展库
在项目根目录下执行以下命令:
composer require phpoffice/phpspreadsheet
编写控制器方法
在需要导出Excel表格的控制器中,添加一个方法,用于查询数据库数据并导出Excel文件。
use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; public function exportExcel(){ // 查询数据 $data = Db::name('user')->select(); // 创建Excel对象 $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); // 设置表头 $sheet->setCellValue('A1', 'ID'); $sheet->setCellValue('B1', '用户名'); $sheet->setCellValue('C1', '邮箱'); // 遍历数据,填充表格内容 $row = 2; foreach ($data as $item) { $sheet->setCellValue('A' . $row, $item['id']); $sheet->setCellValue('B' . $row, $item['username']); $sheet->setCellValue('C' . $row, $item['email']); $row++; } // 导出Excel文件 $filename = 'user_' . date('YmdHis') . '.xlsx'; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="' . $filename . '"'); header('Cache-Control: max-age=0'); $writer = new Xlsx($spreadsheet); $writer->save('php://output'); }