php 自定義函數(shù)實(shí)現(xiàn)將數(shù)據(jù) 以excel 表格形式導(dǎo)出示例
本文實(shí)例講述了php 自定義函數(shù)實(shí)現(xiàn)將數(shù)據(jù) 以excel 表格形式導(dǎo)出。分享給大家供大家參考,具體如下:
/** * 導(dǎo)出數(shù)據(jù)為excel表格 * @param * array $data 一個(gè)二維數(shù)組,結(jié)構(gòu)如同從數(shù)據(jù)庫查出來的數(shù)組 * array $title excel的第一行標(biāo)題,一個(gè)數(shù)組,如果為空則沒有標(biāo)題 * String $filename 下載的文件名 */ function exportexcel($data=array(),$title=array(),$filename='report'){ header("Content-type:application/octet-stream"); header("Accept-Ranges:bytes"); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=".$filename.".xls"); header("Pragma: no-cache"); header("Expires: 0"); //導(dǎo)出xls 開始 if (!empty($title)){ foreach ($title as $k => $v) { $title[$k]=iconv("UTF-8", "GB2312",$v); } $title= implode("\t", $title); echo "$title\n"; } if (!empty($data)){ foreach($data as $key=>$val){ foreach ($val as $ck => $cv) { $data[$key][$ck]=mb_convert_encoding($cv,"GB2312","UTF-8"); } $data[$key]=implode("\t", $data[$key]); } echo implode("\n",$data); } }
php內(nèi)置函數(shù)講解
String mb_convert_encoding( $str, $encoding1,$encoding2 )
$str
,要轉(zhuǎn)換編碼的字符串
$encoding1
,目標(biāo)編碼,如utf-8,gbk,大小寫均可
$encoding2
,原編碼,如utf-8,gbk,大小寫均可
demo
$title = array("title1","title2","title3"); $data = array("數(shù)據(jù)1","數(shù)據(jù)2","數(shù)據(jù)3"); $fileName = "demo"; exportexcel($data,$title,$fileName);
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
ob_start(),ob_start(''ob_gzhandler'')使用
ob_start(),ob_start(''ob_gzhandler'')使用...2006-12-12php多數(shù)據(jù)庫支持的應(yīng)用程序設(shè)計(jì)
以前做PHP應(yīng)用,多數(shù)是單數(shù)據(jù)庫數(shù)據(jù)查詢和更新,頂多也是主從數(shù)據(jù)庫的支持,實(shí)現(xiàn)起來相對簡單。主從數(shù)據(jù)庫的問題在于,當(dāng)會話存儲在數(shù)據(jù)庫的時(shí)候,同步將可能出現(xiàn)問題,也就是說有可能出現(xiàn)會話的中斷。2008-08-08ajax 的post方法實(shí)例(帶循環(huán))
在最近的項(xiàng)目中,為了能解決在大數(shù)據(jù)查詢中出現(xiàn)的超時(shí)問題,需要將大數(shù)據(jù)拆分成小數(shù)據(jù),然后進(jìn)行循環(huán)處理。本人經(jīng)驗(yàn)不足,技術(shù)有限,只能想到用ajax來傳送數(shù)據(jù)。2011-07-07PHP Session ID的實(shí)現(xiàn)原理與實(shí)例
這篇文章主要介紹了PHP Session ID的實(shí)現(xiàn)原理與實(shí)例,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下2021-05-05使用PHP獲取兩個(gè)數(shù)組之間的差集、并集、交集方法
這篇文章主要給大家介紹了使用PHP獲取兩個(gè)數(shù)組之間的差集、并集、交集方法,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11