导出文件Excel DateFormat问题

时间:2017-04-11 14:07:46

标签: laravel

我尝试在excel文件中格式化拖曳日期列希望是列dt_naissance和created_at

当我尝试运行代码时出现此异常:

  

[错误] Laravel工作表方法[formatDates]不存在。

这是我的代码:

$licencies = Licencies::where('lb_assurance' , '=' , 'Lafont')
            ->leftJoin('activite_licencie' , 'activite_licencie.id' , '=' , 'licencies.activite_licencie_id')
            ->leftJoin('saisons' , 'saisons.id' , '=' , 'licencies.saison_id')
            ->leftJoin('pays' , 'pays.id' , '=' , 'licencies.pays_naissance_id')
            ->leftJoin('type_licence' , 'type_licence.id' , '=' , 'licencies.type_licence_id')
            ->leftJoin('structures' , 'structures.id' , '=' , 'licencies.structure_id')
            ->select('num_licence' , 'lb_nom' , 'lb_prenom' , 'dt_naissance' , 'pays.fr' ,'activite_licencie.lb_activite'  ,'saisons.lb_saison', 'lb_surclassement' ,  'structures.nom_structure' , 'lb_assurance' , 'cd_dept_naissance' , 'licencies.created_at')
            ->whereRaw('DATE(licencies.created_at) = CURRENT_DATE')
            ->get();

            $excel_file = Excel::create('DailyRecapLicencesLafont', function($excel) use ($licencies) {
            $excel->sheet('Excel', function($sheet) use ($licencies)
            {
                $sheet->fromArray($licencies);
                $sheet->formatDates(true , 'd-m-Y');


                $sheet->setDateColumns(array(
                    'dt_naissance',
                    'created_at'
                ))->get();

            });

        });

有人为什么我会收到此错误?非常感谢提前

1 个答案:

答案 0 :(得分:0)

formatDates是Excel工作表的reader方法。它不是Worksheet方法。

阅读Excel文件时,您可以使用以下方法:

Excel::load($pathToExcelFile)->formatDates(true, 'd-m-Y');

要在写入文件时设置列的格式,可以使用setColumnFormat()。例如:

$sheet->setColumnFormat(array('A1:A10' => 'd-m-Y'));