2017-04-11 81 views
0

我尝试在我的Excel文件的愿望格式化拖日期列是列dt_naissance和created_at导出文件的Excel日期格式问题

我得到这个例外,当我尝试运行代码:

[错误] 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(); 

      }); 

     }); 

有人为什么我得到这个错误?提前致谢

回答

0

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

当读取Excel文件,你可以使用的方法是这样的:

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

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

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

谢谢你的回答!如果我想在存储文件时更改格式? –

+0

我想用它来存储文件不加载它,因为稍后通过电子邮件发送文件 –

+0

您可以使用'setColumnFormat()'。例如'$ sheet-> setColumnFormat(array('A1:A10'=>'d-m-Y'));' – piscator