如何在laravel Excel maatwebsite上的列中设置文本对齐方式?

时间:2018-08-07 18:23:50

标签: excel laravel laravel-5 laravel-5.6 laravel-excel

我从这里获得参考:https://laravel-excel.maatwebsite.nl/3.0/getting-started/

我一直在寻找如何设置正确的文本对齐方式,但是我没有在文档中找到它

我的脚本导出如下:

<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\Exportable;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class InvoiceExport implements FromView
{
    use Exportable;
    public function view(): View
    {
        $data = Invoice::get();
        return view('exports.item', [
            'data' => $data
        ]);
    }
}

我该如何解决这个问题?

更新

我找到了解决方案,但这并不完美

public function registerEvents(): array
{
    return [
        AfterSheet::class    => function(AfterSheet $event) {
            $event->sheet->styleCells(
                'C2:C1000',
                [
                    'alignment' => [
                        'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT,
                    ],
                ]
            );
        },
    ];
}

有效。但是我的记录是动态的。可以是1000条记录。可以是10000条记录

在上面的脚本中,它只是从C2阻止到C1000。我想在C列中设置所有记录

我该怎么办?

2 个答案:

答案 0 :(得分:0)

只需使用C:C,它将选择整个列:

'C:C',
[
    'alignment' => [
        'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT,
    ],
]

答案 1 :(得分:-1)

以下代码对我有用

 $event->sheet->getStyle('A1:B48')->getAlignment()->setHorizontal('center');