方法一:
优点:样式好看一点,有表头,缺点:还要手动编辑表的第一行($column),代码量也比较多一点
public function testdaochu1()
{
$file_name = '模板' . date("Y-m-d");//文件名
$title = '权限开通模板';//表头
//$fields = Db::name('dzh_permission_open_log')->getFields();
$data = Db::name('dzh_permission_open_log')->select()->toArray();//数据
//$fields = array_keys($fields);//数据库读的字段,和下面column的值一样
//每一列的头
$column = [
'A'=>'id',
'B'=>'appid',
'C'=>'serialid',
'D'=>"username",
'E'=>"strat",
'F'=>"status",
'G'=>"errmsg",
'H'=>"created_at",
'i'=>"update_at",
];
$objPHPExcel = ExportService::downloadStart($column,$title);
$i = 0;
foreach ($data as $k=>$v){
$objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($i + 3), $v["id"]);
$objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($i + 3), $v['appid']);
$objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($i + 3), $v['serialid']);
$objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($i + 3), $v['username']);
$objPHPExcel->getActiveSheet(0)->setCellValue('E' . ($i + 3), $v['strat']);
$objPHPExcel->getActiveSheet(0)->setCellValue('F' . ($i + 3), $v['status']);
$objPHPExcel->getActiveSheet(0)->setCellValue('G' . ($i + 3), $v['errmsg']);
$objPHPExcel->getActiveSheet(0)->setCellValue('H' . ($i + 3), $v['created_at']);
$objPHPExcel->getActiveSheet(0