laravel maatwebsite-excel更改工作表方向

q5lcpyga  于 2023-06-07  发布在  其他
关注(0)|答案(4)|浏览(133)

如何在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');
b4lqfgs4

b4lqfgs41#

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();
}
mspsb9vt

mspsb9vt2#

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

eaf3rand

eaf3rand3#

由于laravel-Excel是基于phpExcel制作的,那么你可以对$excel对象或$sheet对象使用原生的phpExcel方法
下面是改变纸张方向的代码

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

ehxuflar4#

首次添加

use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\{
  BeforeExport,
  AfterSheet, 
 };
class UploadResult implements  WithStyles, ShouldAutoSize, WithEvents { // add here
    /**
    * @return \Illuminate\Support\Collection
    */

    public function registerEvents(): array
    {
        return [
            AfterSheet::class => function(AfterSheet $event) {
                $event->sheet->getDelegate()->setRightToLeft(true); // this change
            },
        ];
    }
}
  • 要更改Excel工作表的方向,您可以使用setRightToLeft(true),如下例所示 *
    链接:文档maatwebsite

相关问题