php - Laravel:如何在 maatwebsite DOMPDF 导出中更改 PDF 样式?

标签 php excel laravel pdf export-to-pdf

我正在导出每个条目的 PDF 文件。
但是它们太简单了,即:没有样式。
这是截图:enter image description here
但正如您所看到的,除了样式用于我的 Excel 导出之外,没有其他样式。我想在顶部添加 Logo 图像。删除多余的列并添加一些标题文本,如公司名称、地址等......
这是我的 Controller :

public function export_release(Request $request)
{
    Excel::store(new \App\Exports\ReleaseExportView($request->reference),'uploads/release/'.$request->reference.'/'.'release_'.$request->reference.'.pdf','real_public', \Maatwebsite\Excel\Excel::DOMPDF);
    return redirect()->route('release_inventory')->with('success','Outbound has been Created.');
}
这是我的导出类(class):
use App\outbound_detail;
use App\outbound_temp;
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\WithHeadings;

use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;

class ReleaseExportView implements FromCollection, WithHeadings, ShouldAutoSize, WithEvents
{
    protected $reference;
    function __construct($reference) {
        $this->reference = $reference;
 }

    public function collection()
    {
        //link for StackOverFlow
        //https://stackoverflow.com/questions/57153985/how-to-pass-parameter-to-export-file-of-laravel-excel-for-db-query

        return outbound_detail::where('reference',$this->reference)->get([
            'reference', 'sku_parent', 'sku_child', 'cases'
        ]);
    }

    public function headings(): array
    {
        return [

            'Reference',
            'SKU Parent',
            'SKU Child',
            'Cases Released'
        ];
   }
   // ...

    /**
     * @return array
     */
    public function registerEvents(): array
    {
        return [
            AfterSheet::class    => function(AfterSheet $event) {
                $cellRange = 'A1:W1'; // All headers
                $event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(14);
            },
        ];
    }
}

最佳答案

首先删除 ShouldAutoSize,以适应文件中的数据。
然后在 AfterSheet 中编辑 A1:W1。我还在研究添加公司信息

关于php - Laravel:如何在 maatwebsite DOMPDF 导出中更改 PDF 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63177516/

相关文章:

laravel - laravel 中 [App\comment] 的批量分配

laravel - 为什么只能第一次序列化 'closure'?

javascript - 如何将 javascript 代码包含到 php View 中?

php - Cocoa Mac App Webview session 丢失

php - 使用带参数的 PDO COUNT 查询

vba - Excel VBA 如何对单行范围进行排序

mysql - 按日期排序进行分组

php - 如何在 html/php 页面中显示来自 WordPress 博客的帖子图像

php - 如何在 Laravel 中导入导出到 Excel

excel - 将数据从 csv 文件读取到 MATLAB 时出错