phpexcel导出数据表格

1.下载phpexcel(李昌辉)

2.在页面引入phpexcel的类文件,并且造该类的对象

include("../chajian/phpexcel/Classes/PHPExcel.php");
$excel = new PHPExcel();

3.查询数据库得出二维数组这里数组名为:$attr

4.导出excel代码,表头数组和数据数组对应:

//Excel表格式,这里简略写了10列
$letter = array('A','B','C','D','E','F','F','G','H','I');
//表头数组
$tableheader = array('汇报时间','汇报完成度','汇报人员','最终完成度','导师评语');
//填充表头信息
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}


//填充表格信息
for ($i = 2;$i <= count($attr) + 1;$i++) {
$j = 0;
foreach ($attr[$i - 2] as $key=>$value) {
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}

//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
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='{$sj}_{$bt}作业.xls'");
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

5.如果长数字串显示为科学计数解决方法

(1)在设置值的时候显示的指定数据类型

$excel->getActiveSheet()->setCellValueExplicit('D1',120000000000,PHPExcel_Cell_DataType::TYPE_STRING);

(2)在数字字符串前加一个空格使之成为字符串

$excel->getActiveSheet()->setCellValue('D1',' ' . 120000000000);

 

posted @ 2016-10-29 17:21  Alvin-灵心  阅读(1473)  评论(0编辑  收藏  举报