Laravel Excel如何将视图加载到特定的行或单元格?

jon*_*nes 8 php phpexcel laravel laravel-excel

我正在使用Laravel Excel,我想加载一个视图文件并将其设置为特定的行.用laravel excel可以做到吗?bellow是将视图加载到工作表中的代码:

Excel::create('New file', function($excel) {

    $excel->sheet('New sheet', function($sheet) {

       $sheet->loadView('folder.view');

    });

});
Run Code Online (Sandbox Code Playgroud)

Yan*_*k Y 1

这次好像这个包没有提供这个功能,但也许你可以做这样的事情。

  • 创建一个包装视图,您可以向其中传递一些参数,例如要包含的目标行号、列号和内部视图。

    Excel::create('New file', function($excel) {
    
        $excel->sheet('New sheet', function($sheet) {
    
           $sheet->loadView('path.to.wrapping.view')->with(["targetRow"=>5,"targetCol"=>10,"targetView"=>"path.to.target.view"]);
    
        });
    
    })->download();
    
    Run Code Online (Sandbox Code Playgroud)
  • 根据提供给包装视图的参数动态生成表。视图的内容可能是这样的。

    @if(isset($targetRow) && isset($targetCol)) table tag @for ($row = 1; $row <= $targetRow + 1; $row++) tr tag @for ($col = 1; $col <= $targetCol + 1; $col++) td tag @if($row == $targetRow && $col == $targetCol) @include($targetView) @endif close td tag @endfor close tr tag @endfor close table tag @endif