袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

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);


打赏