PHPExcel導(dǎo)出2003和2007的excel文檔功能示例
本文實例講述了PHPExcel導(dǎo)出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();
//設(shè)置屬性 (這段代碼無關(guān)緊要,其中的內(nèi)容可以替換為你需要的)
$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;
/*----------寫入內(nèi)容-------------*/
$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');
// 設(shè)置頁方向和規(guī)模
$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') { //導(dǎo)出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 { //導(dǎo)出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;
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
require(),include(),require_once()和include_once()的異同
require(),include(),require_once()和include_once()的異同...2007-01-01
寫php分頁時出現(xiàn)的Fatal error的解決方法
因為你一個文件加載了兩次以上,導(dǎo)致函數(shù)定義重復(fù)。你用xxx_once 就必免文件多次加載。2011-04-04
PHP正則表達(dá)式替換站點關(guān)鍵字鏈接后空白的解決方法
這篇文章主要介紹了PHP正則表達(dá)式替換站點關(guān)鍵字鏈接后空白的問題解決,需要的朋友可以參考下2014-09-09
php jq jquery getJSON跨域提交數(shù)據(jù)完整版
getJSON跨域提交數(shù)據(jù),想必大家已在很多文章中見到過,下面的示例是php jq jquery getJSON跨域提交數(shù)據(jù)完整代碼,感興趣的朋友可以參考下2013-09-09

