不需要下载第三方插架,什么都不需要,复制到自己的控制器中,改一下搜索内容
//导出内容
public function export()
{
// 读取数据+搜索
$fileName = '订单表' . date( '_YmdHis' );
//文档的名字我们也可以跟一个变量这里我写的是一个死值拼接当前时间
$all = Db::name( 'order' )->alias( 'a' )->join( 'scenic w', 'a.scenicid = w.id', 'left' )->order( 'a.id desc' )->select();
foreach ( $all as $key => $value ) {
if ( $value['status'] == 0 ) {
$all[$key]['status'] = '正常';
}
if ( $value['status'] == 1 ) {
$all[$key]['status'] = '已销毁';
}
if ( $value['temperature'] == 0 ) {
$all[$key]['temperature'] = '正常';
}
if ( $value['temperature'] == 1 ) {
$all[$key]['temperature'] = '发烧';
}
}
//查找内容
$data = '';
$data = $data .'<table class="bioage" border="2">
<tr>
<td>用户id</td>
<td>用户名</td>
<td>电影id</td>
<td>电影名</td>
<td>订单号</td>
<td>身份证号</td>
<td>是否发烧</td>
<td>订单状态</td>
<td>时间id</td>
<td>购买票数</td>
<td>添加的时间</td>
</tr>';
//声名变量然后拼接一个表头
foreach ( $all as $v ) {
//遍历输出
$data = $data ."<tr>
<td>{$v['userid']}</td> " .
"<td>{$v['user_name']} </td> " .
"<td>{$v['scenicid']} </td> " .
"<td>{$v['name']} </td> " .
"<td>{$v['order']} </td> " .
"<td>{$v['identity']} </td> " .
"<td>{$v['temperature']} </td> " .
"<td>{$v['status']} </td> " .
"<td>{$v['timeid']} </td> " .
"<td>{$v['ticket']} </td> " .
"<td>{$v['addtimeymd']} </td> " .
'</tr>';
//声名变量拼接输出 所有值
}
$data = $data . '</table>';
//结束标签
//打印看看是否有值
header( 'pragma:public' );
//缓存问题,开启之后为了防止有缓存
header( 'Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $fileName . '.xls"' );
//类型为xls表格的形式是。
header( "Content-Disposition:attachment;filename=$fileName.xls" );
//弹出下载窗口,下载文件的名字就为我们前面传过来的名字格式为表格
echo '<html>'."<meta charset='UTF-8'>".$data.'</html>';
//输出我们的内容在xls中我们防止的乱码
}