sta*_*low 13 php excel laravel
我正在关注此文档
在我的laravel 4项目中实现导出到Excel.
所以我试图从数组生成excel文件,如下所示:
//$results is taken with db query
$data = array();
foreach ($results as $result) {
$result->filed1 = 'some modification';
$result->filed2 = 'some modification2';
$data[] = $result;
}
Excel::create('Filename', function($excel) use($data) {
$excel->sheet('Sheetname', function($sheet) use($data) {
$sheet->fromArray($data);
});
})->export('xls');
Run Code Online (Sandbox Code Playgroud)
但这会引发异常:
Object of class stdClass could not be converted to string
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
更新:
试过这个:
$data = get_object_vars($data);
Run Code Online (Sandbox Code Playgroud)
这导致:
get_object_vars() expects parameter 1 to be object, array given
Run Code Online (Sandbox Code Playgroud)
这个:
$data = (array)$data;
Run Code Online (Sandbox Code Playgroud)
导致初始错误.
kun*_*nal 35
在一行代码中尝试这个简单: -
$data= json_decode( json_encode($data), true);
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你 :)
Dam*_*rsy 25
$data 确实是一个数组,但它是由对象组成的.
在创建之前将其内容转换为数组:
$data = array();
foreach ($results as $result) {
$result->filed1 = 'some modification';
$result->filed2 = 'some modification2';
$data[] = (array)$result;
#or first convert it and then change its properties using
#an array syntax, it's up to you
}
Excel::create(....
Run Code Online (Sandbox Code Playgroud)
您可能需要先将对象更改为数组。我不知道是什么export,但我假设它期望一个数组。
您可以使用
或者,如果它只是一个简单的对象,则可以进行类型转换。
$arr = (array) $Object;
| 归档时间: |
|
| 查看次数: |
67497 次 |
| 最近记录: |