MICUU
心情
所有
图集
登录
搜索
原创
Spreadsheet导出方法的实例,后续整理
米醋儿
发布于:2021-07-23
Spreadsheet导出方法的实例。2021.12.7优化导出格式不匹配导致部分导出后无法打开的问题。 /** * 导出 * @desc 导出 * @method GET * @return string msg 提示信息 * @return array data 返回数据 * @return string data.data 200审核成功。400审核失败 */ public function export() { // 查询要导出的数据 $data = [ [ 'id'=>1, 'name'=>"micuer", 'age'=>"18", 'sex'=>"男", 'room_name'=>"6.1班", 'school_name'=>"西安一小", 'create_time'=>"2021-6-15", ] ]; // 实例化 $spreadsheet = new Spreadsheet(); // 获取活动工作薄 $sheet = $spreadsheet->getActiveSheet(); // 获取单元格 $cellA = $sheet->getCell('A1'); // 设置单元格的值 $cellA->setValue('ID'); // 设置 A 列 列宽 $sheet->getColumnDimension('A')->setWidth(10); // 设置第一行 行高 $sheet->getRowDimension(1)->setRowHeight(20); $cellB = $sheet->getCell('B1'); $cellB->setValue('学生头像'); $sheet->getColumnDimension('B')->setWidth(10); $cellC = $sheet->getCell('C1'); $cellC->setValue('学生姓名'); $sheet->getColumnDimension('C')->setWidth(10); $cellD = $sheet->getCell('D1'); $cellD->setValue('学生年龄'); $sheet->getColumnDimension('D')->setWidth(10); $cellE = $sheet->getCell('E1'); $cellE->setValue('学生性别'); $sheet->getColumnDimension('E')->setWidth(10); $cellF = $sheet->getCell('F1'); $cellF->setValue('所属班级'); $sheet->getColumnDimension('F')->setWidth(30); $cellG = $sheet->getCell('G1'); $cellG->setValue('所属学校'); $sheet->getColumnDimension('G')->setWidth(40); $cellH = $sheet->getCell('H1'); $cellH->setValue('创建时间'); $sheet->getColumnDimension('H')->setWidth(30); // 设置样式 标题栏 $styleArray = [ 'alignment' => [ 'horizontal' => 'center', //水平居中 'vertical' => 'center', //垂直居中 ], 'font' => [ 'name' => '黑体', 'bold' => false, 'size' => 10 ] ]; // 设置样式 正文 $styleArrayBody = [ 'alignment' => [ 'horizontal' => 'center', //水平居中 'vertical' => 'center', //垂直居中 ], 'font' => [ 'name' => '宋体', 'bold' => false, 'size' => 10 ] ]; // 应用样式 $sheet->getStyle('A1')->applyFromArray($styleArray); $sheet->getStyle('B1')->applyFromArray($styleArray); $sheet->getStyle('C1')->applyFromArray($styleArray); $sheet->getStyle('D1')->applyFromArray($styleArray); $sheet->getStyle('E1')->applyFromArray($styleArray); $sheet->getStyle('F1')->applyFromArray($styleArray); $sheet->getStyle('G1')->applyFromArray($styleArray); $sheet->getStyle('H1')->applyFromArray($styleArray); // 从 A2 开始填充数据 foreach ($data as $k => $v) { $n = $k + 2; // 获取单元格 $cellA = $sheet->getCell('A'.$n); // 设置单元格的值 $cellA->setValue($v['id']); $cellB = $sheet->getCell('B'.$n); $cellB->setValue(''); $cellC = $sheet->getCell('C'.$n); $cellC->setValue($v['name']); $cellD = $sheet->getCell('D'.$n); $cellD->setValue($v['age']); $cellE = $sheet->getCell('E'.$n); $cellE->setValue($v['sex']); $cellF = $sheet->getCell('F'.$n); $cellF->setValue($v['room_name']); $cellG = $sheet->getCell('G'.$n); $cellG->setValue($v['school_name']); $cellH = $sheet->getCell('H'.$n); $cellH->setValue($v['create_time']); // 再给表格体设置样式 $sheet->getStyle('A'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('B'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('C'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('D'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('E'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('F'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('G'.$n)->applyFromArray($styleArrayBody); $sheet->getStyle('H'.$n)->applyFromArray($styleArrayBody); } // 下载文件名 $file_name = '回访工单导出'.date("YmdH-i-s").'.xlsx'; header('Content-Type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.$file_name); header('Cache-Control:max-age=0'); // 下载 ob_clean(); ob_start(); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('php://output'); $spreadsheet->disconnectWorksheets();/* 释放内存 */ ob_end_flush(); exit(); }
注:原创不易,转载请注明出处(
https://micuu.com/new/1970.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-22
上一篇:
PhalApi中常用where、or、and查询组装成数组demo
下一篇:
踏板,今天骑行了一百多公里!从一开始的突然决策,到路上遇到的美好风景!最后的保养,以及路上的心酸!只有自己才知道!晚上的李想大虾犒劳一下自己!这个周末就这么愉快的过去了!
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>