使用PHPexcel类库

$fileName = \"员工表\";
$headArr = array(\'姓名\', \'单位\',\'性别\');
$data = array(
    array(\'张三\',\'销售\',\'男\'),
    array(\'李四\',\'财务\',\'男\'),
);

getExcel($fileName, $headArr, $data);

function getExcel($fileName, $headArr, $data) {
	//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
	// vendor(\"PHPExcel.PHPExcel\");
	
	$date = date(\"Y_m_d\", time());
	$fileName .= \"_{$date}.xls\";
	
	//创建PHPExcel对象,注意,不能少了\\
	$objPHPExcel = new \\PHPExcel();
	$objProps = $objPHPExcel->getProperties();
	
	//设置表头
	$key = ord(\"A\");
	//print_r($headArr);exit;
	foreach ($headArr as $v) {
	    $colum = chr($key);
	    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . \'1\', $v);
	    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . \'1\', $v);
	    $key += 1;
	}
	
	$column = 2;
	$objActSheet = $objPHPExcel->getActiveSheet();
	  //print_r($data);exit;
	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()->set (\'wx\');
	//设置活动单指数到第一个表,所以Excel打开这是第一个表
	$objPHPExcel->setActiveSheetIndex(0);
	ob_end_clean(); //清除缓冲区,避免乱码
	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;
}	

 

收藏 打印