laravel-excel 无法使用带有图像的刀片导出 xls 文件

Posted

技术标签:

【中文标题】laravel-excel 无法使用带有图像的刀片导出 xls 文件【英文标题】:laravel-excel not working to export xls file using blade with image 【发布时间】:2014-11-24 19:37:03 【问题描述】:

对不起, 我想使用 laravel-excel 导出我的报告。 这是控制器:

public function getExcelfile()
        $users = UserService::findAllPublic();
        $total = UserService::count();
        $total_with_photo = UserService::countWithPhoto();
        Excel::create('excelfile', function($excel) use ($users, $total, $total_with_photo) 
            $excel->sheet('Excel', function($sheet) use ($users, $total, $total_with_photo) 
                $sheet->loadView('report.excel')->with("users", $users)->with("total", $total)->with("total_with_photo", $total_with_photo);
            );
        )->export('xls');
    

这是位于报告文件夹中的 excel.blade.php

<html> <body> Total Registered User : $total Total Registered User With Photo : $total_with_photo <h1>Data User</h1> @if(!empty($users)) <table class="table table-striped table-bordered">
    <thead>
    <tr>
        <th>ID</th>
        <th>Photo</th>
        <th>Nama</th>
        <th>Struck</th>
        <th>Email</th>
        <th>Phone</th>
        <th>FB ID</th>
        <th>Timestamp</th>
        <th>Publish</th>
    </tr>
    </thead>
    @foreach ($users as $row)
    <tr>
        <td>$row->id</td>
        <td><img src="URL::asset('assets/images/upload/' . $row->photo)" /></td>
        <td>$row->nama</td>
        <td>$row->struck</td>
        <td>$row->email</td>
        <td>$row->phone</td>
        <td>$row->fbid</td>
        <td>$row->timestamp</td>
        <td>$row->publish</td>
    </tr>
    @endforeach </table> @endif </body> </html>

然后出现这个错误:

PHPExcel_Exception

File http://myserver.com/projectname/public/assets/images/upload/DSCN1164.jpg not found!

当我尝试在浏览器中访问该文件时,该文件已存在。

【问题讨论】:

尝试提供图像的文件系统路径而不是 URL:底层 PHPExcel 库不能使用 URL,只能使用图像的文件系统路径 【参考方案1】:

代替:

<img src="URL::asset('assets/images/upload/' . $row->photo)"

你应该使用:

<img src="assets/images/upload/ $row->photo "

当然假设它是正确的路径

【讨论】:

以上是关于laravel-excel 无法使用带有图像的刀片导出 xls 文件的主要内容,如果未能解决你的问题,请参考以下文章

Vue 无法从 laravel 刀片获取 CSRF 令牌

使用 laravel 和刀片正确分配带有 route(function) 和参数的 img src

Laravel 刀片模板中的图像路径问题

在基于引导的刀片模板中添加背景图像

在带有刀片模板的表单中使用 laravelcollective/html 时防止转义单引号

Laravel - 带有刀片 compileString 的 php eval