我在Laravel 5.8项目中使用maatewebsite/excel 3.1。
导出excel时,我需要将第一行设置为固定。2.1版本中称为"冻结行"的内容。
Excel::create('Filename', function($excel) {
$excel->sheet('Sheetname', function($sheet) {
$sheet->freezeFirstColumn();
});
})->export('xls');
由于版本3,您应该使用PhpSpreadsheet的本地方法。
你可以试试这样的东西:
class SomeExport implements ... // what you need to implement
{
// some other code
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
$workSheet = $event->sheet->getDelegate();
$workSheet->freezePane('A2'); // freezing here
},
];
}
}
您可以在这里找到更多信息:
升级:https://docs.laravel-excel.com/3.0/getting-started/upgrade.html
事件:https://docs.laravel-excel.com/3.1/imports/extending.html#events