我一直在使用laravel excel下载阵列数据已有几周的时间,今天突然之间,下载无法打开。
它给出了错误的扩展名类型(xlsx),并说它可能已损坏。
我的<?php
标记之前没有空格,并且根本没有结束标记。没有对该文件进行任何更改,否则下载工作正常。现在有什么理由会发生这种情况吗?可能与输出缓冲区有关吗?
我真的不想存储并返回下载,但我想将其保留为Excel。
也许这里有一些清楚的地方
public function exportCatalog($id, $company){
$allgroupResult= array();
$rowCount = 2;
$boldRows = array();
$name = 'Export For ' . $id . ' Company ' . $company;
$build = Excel::create($name, function ($excel) use ($allgroupResult) {
$excel->setTitle('Catalog Export');
$excel->sheet('Catalog Export', function ($sheet) use ($allgroupResult) {
$sheet->fromArray($allgroupResult);
foreach ( $boldRows as $row ) {
$cell_name = excelColumnFromNumber($row)."1";
$sheet->getStyle( $cell_name )->getFont()->setBold( true );
}
// freeze the header row
$sheet->freezeFirstRow();
// set header names
$sheet->row(1, [
'Product Images',
'Product Images',
'Product Images',
'Product Images',
'Product Images',
'Product Images',
'Product Images',
'Product Images',
'Product Images',
]); // column headers
// set the width for the columns that are used
$sheet->setWidth('A', 10);
$sheet->setWidth('B', 15);
$sheet->setWidth('C', 10);
$sheet->setWidth('D', 10);
$sheet->setWidth('E', 10);
$sheet->setWidth('F', 10);
$sheet->setWidth('G', 10);
$sheet->setWidth('H', 60);
$sheet->setWidth('I', 10);
});
})->download('xlsx');
}