0.基本配置
百度雲鏈接
密碼: m7ch
將配置文件放置在vendor目錄下
1.創建數據
public function create_export0($list,$val){
$list =[]; //數據
$val=‘’; //類型
$this->createReport($list,$val);
}
2.創建表格
public function createReport($list,$val)
{
//標題名稱
$expCellName = [
['0', '用戶名稱', 'name'], //name爲$list的鍵名
['1', '參與時間', 'addtime'],
......
];
$count =count($list); //總條數
if ($val=='1'){
$str ='本次統計共:'.$count.' 條 '.',統計範圍:1';
}elseif ($val=='2'){
$str ='本次統計共:'.$count.' 條 '.',統計範圍:2';
}else{
$str ='本次統計共:'.$count.' 條 '.'統計範圍:3';
}
$this->excel3($expCellName, $list, $str);
}
3.導出表格
$xlsTitle = iconv('utf-8', 'gb2312', '');
$fileName = date('數據統計_Ymd');// 文件名稱
$cellNum = count($expCellName);
$dataNum = count($expTableData);
Vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
$cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I','J');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合併單元格
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $str);
for ($i = 0; $i < $cellNum; $i++) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '2', $expCellName[$i][1]);
}
if ($dataNum > 0) {
//邏輯區
for ($i = 0; $i < $dataNum; $i++) {
for ($j = 0; $j < $cellNum; $j++) {
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][2]]);
}
}
}
ob_end_clean();//清除緩衝區,避免亂碼
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本窗口打印
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}