PHP:引用PhpExcel导出数据到excel表格
阅读原文时间:2020年10月16日阅读:1

我使用的是tp3.2框架(下载地址:http://www.thinkphp.cn/topic/38123.html)

1.首先要下载PhpExcel类库,放在如下图目录下

2.调用方法

public function exportExcel($expTitle,$expCellName,$expTableData)
{
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel");//引入类库,一定要引对,否则会报错找不到这个类
$objPHPExcel = new \PHPExcel();
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');

 $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName\[$cellNum-1\].'1');//合并单元格  
 // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.'  Export time:'.date('Y-m-d H:i:s'));  
 for($i=0;$i<$cellNum;$i++){  
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName\[$i\].'2', $expCellName\[$i\]\[1\]);  
 }  
 // Miscellaneous glyphs, UTF-8  
 for($i=0;$i<$dataNum;$i++){  
     for($j=0;$j<$cellNum;$j++){  
         $objPHPExcel->getActiveSheet(0)->setCellValue($cellName\[$j\].($i+3), $expTableData\[$i\]\[$expCellName\[$j\]\[0\]\]);  
     }  
 }

 header('pragma:public');  
 header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');  
 header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印  
 ob\_clean();//把数据从PHP的缓冲(buffer)中释放出来。  
 flush();//把不在缓冲(buffer)中的或者说是被释放出来的数据发送到浏览器。  
 $objWriter = \\PHPExcel\_IOFactory::createWriter($objPHPExcel,'Excel5');  
 $objWriter->save('php://output');  
 exit;  

}
/**
*
* 导出Excel
*/
function daochu()
{//导出Excel
$xlsName = "User";
$xlsCell = array(
array('id','账号序列'),
array('u_name','用户名字'),
array('u_addres','地址'),
array('u_tel','电话'),
array('u_card','身份证号'),
array('u_time','申报时间'),
// array('u_imgz','申报时间'),
// array('u_imgf','申报时间'),
array('b_one_beizhu','办公人员备注'),
array('b_shenhe_p','办公室审核人员'),
array('water_kj','水表口径'),
array('water_wz','水表具体位置'),
array('water_quyu','区域位置'),
array('water_start_time','施工日期'),
array('water_start_peo','施工人员'),
array('water_start_jingli','施工经理'),
array('water_beizhu','施工经理备注'),
array('water_xingzhi','用水性质'),
array('watch_num','水表底数'),
array('watch_time','抄表日期'),
array('watch_peo','抄表人员'),
array('moneyjingli_name','收费经理'),
array('moneyjingli_beizhu','收费经理备注'),

     array('jingli\_name','经理名称')

 );  
 $xlsModel = M('api\_aliucheng');

 $xlsData  = $xlsModel->Field('id,u\_name,u\_addres,u\_tel,u\_card,u\_time,b\_one\_beizhu,b\_shenhe\_p,water\_kj,water\_wz,water\_quyu,water\_start\_time,water\_start\_peo,water\_start\_jingli,water\_beizhu,water\_xingzhi,watch\_num,watch\_time,watch\_peo,moneyjingli\_name,moneyjingli\_beizhu,jingli\_name')->where(array('jingli\_state\_san'=>1))->select();

 $this->exportExcel($xlsName,$xlsCell,$xlsData);

}

3.导出结果(上面标红的地方要特别注意)

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章