laravel 导出
Posted 迷失在路上
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 导出相关的知识,希望对你有一定的参考价值。
常规导出xlsx 更多的是导出小数据 需要大数据导出的时候 需要临时更改内存大小 ini_set(\'memory_limit\', \'1024M\'); 不更改内存的情况 可以选择队列导出到服务器后另行下载;
导出csv 由于一般浏览器都是默认解析输出模式 所以一般加header头
这里说两种:
1/
use Illuminate\\Support\\Facades\\Response;
$data = [1,2,3,4];
$headers = array(
"Access-Control-Expose-Headers" => "Content-Disposition"
);
$filename = storage_path(\'attend_member_list.csv\');
$output = fopen($filename, \'w+\');
foreach ($data as $line)
fputcsv($output, $line);
return Response::download($filename, \'参与列表.csv\', $headers);
2/
use Maatwebsite\\Excel\\Facades\\Excel;
$header = [];
$excelData =[];
$headers = array(
"Access-Control-Expose-Headers" => "Content-Disposition"
);
return Excel::download((new ExcelExport($excelData->toArray(), $header)), \'参与列表.csv\', null, $headers);
new ExcelExport 是创建导出类库
<?php
namespace App\\Exports;
use Maatwebsite\\Excel\\Concerns\\FromCollection;
use Maatwebsite\\Excel\\Concerns\\Exportable;
use Maatwebsite\\Excel\\Concerns\\WithHeadings;
class ExcelExport implements FromCollection, WithHeadings
use Exportable;
private $data;
private $headings;
//数据注入
public function __construct($data, $headings)
$this->data = $data;
$this->headings = $headings;
//实现FromCollection接口
public function collection()
return collect($this->data);
//实现WithHeadings接口
public function headings(): array
return $this->headings;
让每一滴智慧绘制成一条不归路!
以上是关于laravel 导出的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 使用 PhpOffice 导入导出 Excel
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能