导出Excel表格

引入Excel第三方库

cd 到verdor/composer文件夹下   运行命令 composer require phpoffice/phpexcel

 

 找到\vendor\composer\vendor\phpoffice\phpexcel\Classes 复制类到  extend/phpexcel_classes  下面

 

 


/**
* 导出数据为excal文件
*/
function dataExcel($expTitle, $expCellName, $expTableData)
{
include 'extend/phpexcel_classes/PHPExcel.php';
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle); // 文件名称
$fileName = $expTitle . date('_YmdHis'); // or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
$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'
);
for ($i = 0; $i < $cellNum; $i++) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[ $i ] . '2', $expCellName[ $i ][1]);
}
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] ]);
}
}
$objPHPExcel->setActiveSheetIndex(0);
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');
}

posted @ 2019-12-13 11:06  沧海一粒沙  阅读(212)  评论(0编辑  收藏  举报