PHPExcel生成Excel2007完整代码
浏览量:523
what:
想统计一下数据库里面的客户数量,用php把数据调用出来生成excel,方便统计操作
why:
方法有好几种,今天用PHPExcel生成,使用方便,还可以设置格式
下载地址:
https://github.com/PHPOffice/PHPExcel
how:
下面是一个例子,调用2017年以来销售的产品和数量,方便下一步统计
<?php
error_reporting(0);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('PRC');
/** 引入PHPExcel */
include 'db.php';
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//创建一个excel
$objPHPExcel = new PHPExcel();
//保存excel—2007格式
$objPHPExcel->getProperties()->setTitle("beijing");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('kehu');
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'name');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'sum');
//填充数据
$db = new DB();
$sqlstr="select * from kh where YEAR(datetime)>=2017";
$resultid = $db->getDataBySql($sqlstr);
$i=2;$a=$b=$c=$d='';
foreach ($resultid as $u) {
$a='A'.$i;
$b='B'.$i;
$c=$u->u_tourname;
$d=$u->u_tourr;
$objPHPExcel->getActiveSheet()->setCellValue($a,$c);
$objPHPExcel->getActiveSheet()->setCellValue($b,$d);
$i=$i+1;
}
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
//或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式
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="resume.xls"');
header("Content-Transfer-Encoding:binary");
function SaveViaTempFile($objWriter){
$filePath = '' . rand(0, getrandmax()) . rand(0, getrandmax()) . ".tmp";
$objWriter->save($filePath);
readfile($filePath);
unlink($filePath);
}
//$objWriter->save('php://output');
SaveViaTempFile($objWriter);

感谢支持与鼓励~