我有这个工作,使用 Laravel 4 和 Laravel Excel 从 mySQL 导出数据。我有 Regtype 和 Attendee 的对象,我希望每个 regtype 一张表与所有相关的与会者。我有一张与会者出口得很好。现在我为 regtypes 添加了一个循环,我可以获得多张纸,但所有纸都是空白的!
也许我必须使用shareView?我不这么认为.. 我没有收到任何错误,也没有显示我传递给刀片模板的数据。
我的导出函数: public function export() { $date = date('Y_m_d'); \Excel::create('CMO_Connect_Attendees_Export_'.$date, function($excel) { $regtypes = Regtype::all(); foreach ($regtypes as $regtype) { if( $regtype->attendees(3)->数数() ) {
$excel->sheet($regtype->name, array('regtype' => $regtype), function($sheet) {
$date = date('Y_m_d');
$attendees = new Attendee;
$atts = Attendee::where('block_id', '=', \Input::get('block_id'))
->where('regtype_id', '=', $regtype->id)
->get();
$sheet->setStyle(array(
'font' => array(
'name' => 'Arial',
'size' => 12,
'bold' => false
)
));
$sheet->loadView('attendees.export', array('atts' => $atts))->with('curdate',$date)->with('regtype_name',$regtype->name);
$atts = '';
});
} //endif
} //endforeach
$excel->export('xls');
});
}
以及我将数据传递给的刀片模板(我传递了与会者以及 regtype 的日期和名称以显示在工作表的顶部:
<html>
<table>
<tr>
<td colspan="11">Attendees Export - {{ $curdate }} - {{ $regtype_name }}</td>
</tr>
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Company</td>
<td>Title</td>
<td>Email</td>
<td>Phone</td>
<td>Address</td>
<td>Addres 2</td>
<td>City</td>
<td>State</td>
<td>Zip</td>
<td>Date Created</td>
</tr>
@foreach($atts as $att)
<tr>
<td> {{ $att->firstname }} </td>
<td> {{ $att->lastname }} </td>
<td> {{ $att->company }} </td>
<td> {{ $att->title }} </td>
<td> {{ $att->email }} </td>
<td> {{ $att->phone }} </td>
<td> {{ $att->address }} </td>
<td> {{ $att->address2 }} </td>
<td> {{ $att->city }} </td>
<td> {{ $att->state }} </td>
<td> {{ $att->zip }} </td>
<td> {{ $att->created_at }} </td>
</tr>
@endforeach
</table>
</html>
谢谢你的帮助!