//对数据进行检验 |
if ( empty ( $data ) || ! is_array ( $data )){ |
die ( "data must be a array" ); |
} |
//检查文件名 |
if ( empty ( $fileName )){ |
exit ; |
} |
$date = date ( "Y_m_d" ,time()); |
$fileName .= "_{$date}.xls" ; |
//创建PHPExcel对象,注意,不能少了\ |
$objPHPExcel = new \PHPExcel(); |
$objProps = $objPHPExcel ->getProperties(); |
|
//设置表头 |
$key = ord( "A" ); |
foreach ( $headArr as $v ){ |
$colum = chr ( $key ); |
$objPHPExcel ->setActiveSheetIndex(0) ->setCellValue( $colum . '1' , $v ); |
$key += 1; |
} |
|
$column = 2; |
$objActSheet = $objPHPExcel ->getActiveSheet(); |
foreach ( $data as $key => $rows ){ //行写入 |
$span = ord( "A" ); |
foreach ( $rows as $keyName => $value ){ // 列写入 |
$j = chr ( $span ); |
$objActSheet ->setCellValue( $j . $column , $value ); |
$span ++; |
} |
$column ++; |
} |
$fileName = iconv( "utf-8" , "gb2312" , $fileName ); |
//重命名表 |
// $objPHPExcel->getActiveSheet()->setTitle('test'); |
//设置活动单指数到第一个表,所以Excel打开这是第一个表 |
$objPHPExcel ->setActiveSheetIndex(0); |
header( 'Content-Type: application/vnd.ms-excel' ); |
header( "Content-Disposition: attachment;filename=\"$fileName\"" ); |
header( 'Cache-Control: max-age=0' ); |
$objWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel , 'Excel5' ); |
$objWriter ->save( 'php://output' ); //文件通过浏览器下载 |
exit ; |