php通过PHPExcel导出数据到Excel表格(转载)
PHPExcel的下载地址:http://phpexcel.codeplex.com/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
<?php // +---------------------------------------------------------------------- // | Sphynx PHPExcel导出Excel表格 // +---------------------------------------------------------------------- // | Copyright (c) 2006-2014 http://www.sunnyos.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: Sphynx <admin@sunnyos.com> QQ327388905 // +---------------------------------------------------------------------- /* *+---------------------------------------------------------------------- * PHPExcel导出Excel表格 * array $rearr 需要导出的数组 *+---------------------------------------------------------------------- */ public function export($rearr) { $result = array( 0 => '标题', 1 => '内容', 2 => '发表时间', 3 => '状态' ); $arr = array( 0 => 'A', 1 => 'B', 2 => 'C', 3 => 'D' ); // 创建一个excel $objPHPExcel = new PHPExcel(); /****************************************设置居中开始**************************************/ foreach ($arr as $key => $value) { $objPHPExcel->getActiveSheet()->getStyle($value)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); } /****************************************设置居中结束**************************************/ // 循环$arr定义的列设置每列内容居中 $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")->setCategory("Test result file"); /**************************************设置标题开始*****************************************/ // 循环$arr定义的列和$result设置表头 $objPHPExcel->setActiveSheetIndex(0); foreach ($arr as $key => $value) { $objPHPExcel->getActiveSheet()->setCellValue($value . "1", $result[$key]); } /**************************************设置标题结束*****************************************/ /**************************************设置内容开始*****************************************/ $objPHPExcel->setActiveSheetIndex(0); $i = 2; // $rearr需要导出的数据二维数组 foreach ($rearr as $key => $value) { // 这里从二维数组里面通过键名获取到值放到相应的表格中 $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $value['title']); $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $value['content']); $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $value['time']); $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $value['status']==0 ? "未审核" : "已审核"); $i++; } /**************************************设置内容结束*****************************************/ /**************************************设置宽度开始*****************************************/ // 循环$arr定义的列设置每列宽度 foreach ($arr as $key => $value) { $objPHPExcel->getActiveSheet()->getColumnDimension($value)->setWidth(20); } /**************************************设置宽度结束*****************************************/ /**************************************设置导出下载开始*****************************************/ $objPHPExcel->getSheet(0)->setTitle('上传数据格式'); // 工作区域标题 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="上传数据格式.xls"');//导出文件 header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');//导出文件 /**************************************设置导出下载结束*****************************************/ } |
转载请注明:PHP笔记 » php通过PHPExcel导出数据到Excel表格