本文實例講述了PHPExcel導出2003和2007的excel文檔功能。分享給大家供大家參考,具體如下:
require_once 'common/excel/PHPExcel.php'; require_once 'common/excel/phpExcel/Writer/Excel2007.php'; require_once 'common/excel/phpExcel/Writer/Excel5.php'; include_once 'common/excel/phpExcel/IOFactory.php'; $objExcel = new PHPExcel(); //設置屬性 (這段代碼無關緊要,其中的內容可以替換為你需要的) $objExcel->getProperties()->setCreator("andy"); $objExcel->getProperties()->setLastModifiedBy("andy"); $objExcel->getProperties()->setTitle("Office 2003 XLS Test Document"); $objExcel->getProperties()->setSubject("Office 2003 XLS Test Document"); $objExcel->getProperties()->setDescription("Test document for Office 2003 XLS, generated using PHP classes."); $objExcel->getProperties()->setKeywords("office 2003 openxml php"); $objExcel->getProperties()->setCategory("Test result file"); $objExcel->setActiveSheetIndex(0); $i=0; //表頭 $k1="編號"; $k2="推廣代碼"; $k3="訪問來源"; $k4="IP"; $k5="訪問時間"; $objExcel->getActiveSheet()->setCellValue('a1', "$k1"); $objExcel->getActiveSheet()->setCellValue('b1', "$k2"); $objExcel->getActiveSheet()->setCellValue('c1', "$k3"); $objExcel->getActiveSheet()->setCellValue('d1', "$k4"); $objExcel->getActiveSheet()->setCellValue('e1', "$k5"); //debug($links_list); foreach($links_list as $k=>$v) { $u1=$i+2; /*----------寫入內容-------------*/ $objExcel->getActiveSheet()->setCellValue('a'.$u1, $v["id"]); $objExcel->getActiveSheet()->setCellValue('b'.$u1, $v["num"]); $objExcel->getActiveSheet()->setCellValue('c'.$u1, $v["referer"]); $objExcel->getActiveSheet()->setCellValue('d'.$u1, $v["ip"]); $objExcel->getActiveSheet()->setCellValue('e'.$u1, $v["dateline"]); $i++; } // 高置列的寬度 $objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(70); $objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); $objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15); $objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D'); $objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N'); // 設置頁方向和規模 $objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); $objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objExcel->setActiveSheetIndex(0); $timestamp = time(); if($ex == '2007') { //導出excel2007文檔 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="links_out'.$timestamp.'.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007'); $objWriter->save('php://output'); exit; } else { //導出excel2003文檔 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="links_out'.$timestamp.'.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5'); $objWriter->save('php://output'); exit; }
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《PHP數組(Array)操作技巧大全》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數學運算技巧總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。