从tp5升级到tp6后,原来导出excel的代码用不了,把PHPExcel复制到extend目录里也无效。
没办法,只能按tp6的规则:
1、输入命令:composer require phpoffice/phpexcel 安装PHPExcel
2、控制器头不用use PHPExcel
3、导出代码
public function expExcel()
{
//要输出的数据
$data = array(
[
'id' => 'x1',
'name' => '熊大'],
[
'id' => 'x2',
'name' => '熊二'] );
//实例化PHPExcel类
$objPHPExcel = new \PHPExcel();
//激活当前的sheet表
$objPHPExcel->setActiveSheetIndex(0);
//设置表格头(即excel表格的第一行)
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'ID')
->setCellValue('B1', '姓名') ;
//循环刚取出来的数组,将数据逐一添加到excel表格。
for ($i = 0; $i < count($data); $i++) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 2), $data[$i]['id']);//ID
$objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 2), $data[$i]['name']);//姓名
}
//设置保存的Excel表格名称
$filename = 'test.xls';
//设置浏览器窗口下载表格
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="' . $filename . '"');
//生成excel文件
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//下载文件在浏览器窗口
$objWriter->save('php://output');
exit;
}