phpexcel 使用模板导出报表

function exportExcel($list, $filename, $indexKey = array())
{
require_once(getcwd() . '../../app/Libs/PHPExcel/PHPExcel.class.php');
require_once(getcwd() . '../../app/Libs/PHPExcel/PHPExcel/IOFactory.php');
require_once(getcwd() . '../../app/Libs/PHPExcel/PHPExcel/Writer/Abstract.php');
require_once(getcwd() . '../../app/Libs/PHPExcel/PHPExcel/Writer/Excel2007.php');
require_once(getcwd() . '../../app/Libs/PHPExcel/PHPExcel/Writer/Excel5.php');
$header_arr = 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');
//$objPHPExcel = new PHPExcel(); //初始化PHPExcel(),不使用模板
$template = base_path() . '/public/template/export_qr_list.xlsx'; //使用模板
$objPHPExcel = \PHPExcel_IOFactory::load($template); //加载excel文件,设置模板
$PHPWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
//接下来就是写数据到表格里面去
$objActSheet = $objPHPExcel->getActiveSheet();
$j = 2;
foreach ($list as $value) {
//这里是设置单元格的内容
$a = count($value);
for ($i = 0; $i < $a; $i++) {
$objActSheet->setCellValue($header_arr[$i] . $j, $value[$i]);
}
$j++;
}
// 1.保存至本地Excel表格
//$objWriter->save($filename.'.xls');
// 2.接下来当然是下载这个表格了,在浏览器输出就好了
//ob_end_clean();//清除缓冲区,避免乱码
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="' . $filename . '.xls"');
header("Content-Transfer-Encoding:binary");
$PHPWriter->save('php://output');
}

猜你喜欢

转载自www.cnblogs.com/c-cccc/p/10076443.html