• 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;
        }
    }
    让每一滴智慧绘制成一条不归路!
  • 相关阅读:
    燃料
    Widgets学习
    莫比乌斯反演与杜教筛
    jade在命令行实时编译
    jade文档声明和头尾标签
    团队成员之间的对抗与互助的鼓励
    jade简介
    node入口文件分析和目录初始化
    搭建一个项目的前期准备
    判断团队适不适合使用node
  • 原文地址:https://www.cnblogs.com/JdsyJ/p/15747590.html
Copyright © 2020-2023  润新知