Laravek Excel 导出多个绘图时“调用数组上的成员函数 setWorksheet()”

问题描述 投票:0回答:2

我已成功导出单张图片。但我无法导出多张图片。如何在 laravel excel 中导出多张图片?

我使用 laravel excel maatwebsite-excel 收到此错误“调用数组上的成员函数 setWorksheet()”

public function drawings()
   {
       $Pengaduan = Pengaduan::select(
           'pengaduanTiket',
           'nama_lengkap',
           'no_hp',
           'no_kk',
           'no_ktp',
           'alamat_sesuai_ktp',
           'nama_pengaduan',
           'jenis_pengaduan',
           'isi_pengaduan',
           'status',
           'keterangan',
           'dokumen_pendukung',
           'dokumentasi',
           'lampiran',
       )->whereBetween('created_at', [$this->requestawal, $this->requestakhir])->get();


       $image1 = [];
       $image2 = [];
       $image3 = [];
       $rowNum = 2;
       foreach ($Pengaduan as $row) {

           $file1 = new Drawing();
           if ($row->dokumen_pendukung == null || $row->dokumen_pendukung == "") {
               $file1->setPath(public_path('/assets/images/default.jpg'));
           } else {
               $file1->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->dokumen_pendukung);
           }
           $file1->setheight(20);
           $file1->setCoordinates('L' . $rowNum); 
           $image1[] = $file1;


           $file2 = new Drawing();
           if ($row->dokumentasi == null || $row->dokumentasi == "") {
               $file2->setPath(public_path('/assets/images/default.jpg'));
           } else {
               $file2->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->dokumentasi);
           }
           $file2->setheight(20);
           $file2->setCoordinates('M' . $rowNum); 
           $image2[] = $file2;


           $file3 = new Drawing();
           if ($row->lampiran == null || $row->lampiran == "") {
               $file3->setPath(public_path('/assets/images/default.jpg'));
           } else {
               $file3->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->lampiran);
           }
           $file3->setheight(20);
           $file3->setCoordinates('N' . $rowNum); 
           $image3[] = $file3;


           $rowNum++;
       }
       
       return [$image1, $image2, $image3];
   }

请帮忙,

#看起来你的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。 看起来您的帖子主要是代码;请添加更多详细信息。

laravel drawing maatwebsite-excel laravel-excel
2个回答
0
投票

尝试:

//...
return [...$image1, ...$image2, ...$image3];

0
投票
public function drawings()
    {
        $Pengaduan = Pengaduan::select(
            'pengaduanTiket',
            'nama_lengkap',
            'no_hp',
            'no_kk',
            'no_ktp',
            'alamat_sesuai_ktp',
            'nama_pengaduan',
            'jenis_pengaduan',
            'isi_pengaduan',
            'status',
            'keterangan',
            'dokumen_pendukung',
            'dokumentasi',
            'lampiran',
        )->whereBetween('created_at', [$this->requestawal, $this->requestakhir])->get();


        $gambar = [];
        $rowNum = 2;
        foreach ($Pengaduan as $row) {

            $file1 = new Drawing();
            if ($row->dokumen_pendukung == null || $row->dokumen_pendukung == "") {
                $file1->setPath(public_path('/assets/images/default.jpg'));
            } else {
                $file1->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->dokumen_pendukung);
            }
            $file1->setheight(30);
            $file1->setCoordinates('L' . $rowNum);
            $gambar[] = $file1;


            $file2 = new Drawing();
            if ($row->dokumentasi == null || $row->dokumentasi == "") {
                $file2->setPath(public_path('/assets/images/default.jpg'));
            } else {
                $file2->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->dokumentasi);
            }
            $file2->setheight(30);
            $file2->setCoordinates('M' . $rowNum);
            $gambar[] = $file2;


            $file3 = new Drawing();
            if ($row->lampiran == null || $row->lampiran == "") {
                $file3->setPath(public_path('/assets/images/default.jpg'));
            } else {
                $file3->setPath(public_path('/assets/uploads/images/pengaduan/') . $row->lampiran);
            }
            $file3->setheight(30);
            $file3->setCoordinates('N' . $rowNum);
            $gambar[] = $file3;


            $rowNum++;
        }

        return ($gambar);
    }
© www.soinside.com 2019 - 2024. All rights reserved.