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