- public function export(Request $request)
- {
- // 查询数据库数据
- $list = .....;
- $this->userListExport($list);
- }
- public function userListExport($list)
- {
- // 导出充值记录的头部信息
- $cell = ['头像', '微信昵称', '备注', ];
- $cellData = [];
- foreach ($list as &$value) {
- // 填充数据
- $cellData[] = ([
- '',
- '',
- '',
- ]);
- }
- $this->exportUser($cell, $cellData);
- }
- public function exportUser($cell, $data, $title = '客户列表')
- {
- header('Content-Type: application/vnd.ms-excel');
- header('Content-Disposition: attachment;filename="' . $title . '.csv"');
- header('Cache-Control: max-age=0');
- set_time_limit(0); // 设置脚本最大执行时间 为0
- ini_set('memory_limit', '1024M'); // 临时设置最大内存占用
- // 打开PHP文件句柄,php://output 表示直接输出到浏览器
- $fp = fopen('php://output', 'a');
- $column_name = [];
- // 将中文标题转换编码,否则乱码
- foreach ($cell as $i => $v) {
- $column_name[$i] = iconv('utf-8', 'GBK//IGNORE', $v);
- }
- // 将标题名称通过fputcsv写到文件句柄
- fputcsv($fp, $column_name);
- foreach ($data as $row) {
- foreach ($row as $key => $item) {
- $row[$key] = iconv('utf-8', 'GBK//IGNORE', $item);
- }
- fputcsv($fp, $row);
- }
- $res = ['file' => $title];
- return response()->json($res);
- }