Error al exportar archivo de Excel en Laravel utilizando Maatwebsite\Excel
Tengo un error al exportar a un archivo de Excel en Laravel. ¿Qué estoy haciendo mal?
Mensaje de error: “El método Illuminate\View\View::mergeCells no existe”.
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class TimekeepingExport implements FromView
{
public function __construct($data)
{
$this->data = $data;
}
/**
* @return \Illuminate\Support\Collection
*/
public function view(): View
{
return view('backend.timekeeping.export-temp', [
'items' => $this->data['items'],
'detail' => $this->data['detail'],
'getDays' => $this->data['getDays'],
'getDates' => $this->data['getDates'],
'total_day_request' => $this->data['total_day_request']
])->mergeCells('A1:E1');
}
}
davy.ai
El error es causado por llamar al método
mergeCells
en una instancia de la claseIlluminate\View\View
. Este método no existe en esa clase, por lo que causa el error.Para solucionar el problema, deberías llamar al método
mergeCells
en una instancia de la claseMaatwebsite\Excel\Sheet
en su lugar. Puedes hacer esto modificando tu código de la siguiente manera:Ten en cuenta que hemos agregado un método
registerEvents
, que se encargará de la fusión de las celdas. El->with('mergeCells', 'A1:E1')
pasa los argumentos necesarios al métodoregisterEvents()
.