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 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 laravel 和刀片正确分配带有 route(function) 和参数的 img src