2015-12-14 75 views
0

我已經在laravel 5中導入,但在導出文件時遇到了一些問題。代碼是不正確的,並沒有給出任何邏輯。 我已經試過類同文檔從laravel 5中的mysql數據庫導出csv文件5

public function exportData(Test $test,Excel $excel){ 
    $test=$test->all(); 
    Excel::create('Test excel', function($test) { 

    $test->sheet('sheet1', function($sheet) { 

     $sheet->setOrientation('landscape'); 

    }); 

})->export('xls'); 
    } 

如何csv文件從MySQL出口? 我正在使用「maatwebsite/excel」:「〜2.0.0」包

回答

0

您可能會考慮使用league/csv包。他們有an example of exporting a database query to CSV。在你的情況下,它看起來是這樣的:

public function exportData() { 
    // get the data 
    $data = Test::all(); 

    // get a Writer object for writing to CSV 
    $csv = League\Csv\Writer::createFromFileObject(new SplTempFileObject()); 

    // add the data to the writer 
    $csv->insertAll($data); 

    // output the file 
    $csv->output('testdata.csv'); 
} 
+0

我使用maatwebsite使用INTO OUTFILE/EXCEL包 –

+0

我看到你編輯了自己原來的職位,包含此信息。這就是說,你使用這個特定的軟件包是絕對必要的嗎?我的答案和@ jay-dhameliya的答案都能很容易地解決你的問題。 – morphatic

1

可以在Laravel

public function exportData($file_name) { 

      $file = public_path()."/downloads/".$file_name; //CSV file is store this path 

      $query = sprintf("select * from tests INTO OUTFILE '%s' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n'",$file); 

     \DB::connection()->getpdo()->exec($query); 
    } 
+0

我正在使用maatwebsite/excel包 –

+0

此解決方案不需要任何外部庫。它可以「按原樣」在Laravel中實施。 – morphatic