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框架excel 的导入导出功能

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能(转)

使用 laravel 和 vuejs 导出 Excel

laravel 导出插件