4

如何更改 laravel maatwebsite excel 包中的工作表方向?我想从左到右改变。

A B C D

至:

D C B A

这是我的代码:

   $row =  $this->userRepository->getById(1);

        $data = $row;
        Excel::create('test', function ($excel) use($data) {

            $excel->sheet('sheet', function ($sheet) use($data) {
                $sheet->fromArray($data, null, 'A1', false, false);
                $sheet->row(1, function($row) {
                });

            });
        })->store('xlsx', storage_path('excel/exports'))->download('xlsx');
4

3 回答 3

4
class TractsExport implements FromCollection,WithEvents
{

    public function registerEvents(): array
    {
        return [

            BeforeSheet::class  =>function(BeforeSheet $event){
                $event->getDelegate()->setRightToLeft(true);
            }
        ];
    }
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        retutn Tract::all();
}
于 2020-08-15T19:19:47.757 回答
2

您可以foreach在行中简单地使用 a 并array_reverse($row)在提交到 excel 之前使用

于 2017-06-03T10:17:45.060 回答
1

由于 laravel-Excel 是基于 phpExcel 制作的,那么您可以使用原生 phpExcel 方法来处理$excel对象或$sheet对象

这是更改工作表方向的代码

 $excel->sheet('sheet', function ($sheet) use($data) {
                $sheet->->setRightToLeft(true);
                $sheet->fromArray($data, null, 'A1', false, false);
                $sheet->row(1, function($row) {
                });
于 2017-09-27T10:58:36.180 回答