如何使用Laravel Excel重命名文件 - > download()

时间:2015-12-09 16:04:19

标签: php excel laravel

无法在Laravel Excel的文档中找到如何在下载之前为加载的文件指定新名称。我试过了 - > gt。setTitle但是它没有用。

Excel::load(public_path().'/bills/bill.template.xlsx', function($doc) {

            $doc->setTitle = 'test';
            $sheet = $doc->setActiveSheetIndex(0);

            $sheet->setCellValue('G21', '{buyer}');
            $sheet->setCellValue('AB24', '{sum}');
            $sheet->setCellValue('B30', '{sum_propis}');


        })->download('xlsx');

它给了我" bill.template.xlsx"当我等待" test.xlsx"

2 个答案:

答案 0 :(得分:7)

之前我没有使用过此库,但查看代码看起来可以set the filename attribute will then get used in the headers to set the name of the file downloaded

可能类似于:

Excel::load(public_path().'/bills/bill.template.xlsx', function($doc) 
{...})
    ->setFilename('whatever')
    ->download('xlsx');

答案 1 :(得分:0)

$data = Excel::download($query, 'TimeSheetExport.xlsx');
$data->setContentDisposition('attachment','TimeSheetExport')->getFile()->move(public_path('xlsx/'), $data->getFile().'xlsx');

$query是我们的收藏。

'TimeSheetExport.xlsx'->将不是我们的文件名

move()中,您可以在第二个参数中输入文件名,第一个参数将是该文件的位置