PHP生成excel表格文件并下载
本文引自網(wǎng)絡(luò),僅供自己學(xué)習(xí)之用。
利用php導(dǎo)出excel我們大多會直接生成.xls文件,這種方便快捷。
[php]view plaincopy
functioncreatetable($list,$filename){
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=".$filename.".xls");
$strexport="編號 姓名 性別 年齡";
foreach($listas$row){
$strexport.=$row['id']." ";
$strexport.=$row['username']." ";
$strexport.=$row['sex']." ";
$strexport.=$row['age']."";
}
$strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);
exit($strexport);
}
基于這個我們可以將方法封裝一下:
[php]view plaincopy
/**
*創(chuàng)建(導(dǎo)出)Excel數(shù)據(jù)表格
*@paramarray$list要導(dǎo)出的數(shù)組格式的數(shù)據(jù)
*@paramstring$filename導(dǎo)出的Excel表格數(shù)據(jù)表的文件名
*@paramarray$headerExcel表格的表頭
*@paramarray$index$list數(shù)組中與Excel表格表頭$header中每個項(xiàng)目對應(yīng)的字段的名字(key值)
*比如:$header=array('編號','姓名','性別','年齡');
*$index=array('id','username','sex','age');
*$list=array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24));
*@return[array][數(shù)組]
*/
protectedfunctioncreatetable($list,$filename,$header=array(),$index=array()){
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=".$filename.".xls");
$teble_header=implode(" ",$header);
$strexport=$teble_header."";
foreach($listas$row){
foreach($indexas$val){
$strexport.=$row[$val]." ";
}
$strexport.="";
}
$strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);
exit($strexport);
}
方法調(diào)用:
[php]view plaincopy
$filename='提現(xiàn)記錄'.date('YmdHis');
$header=array('會員','編號','聯(lián)系電話','開戶名','開戶行','申請金額','手續(xù)費(fèi)','實(shí)際金額','申請時間');
$index=array('username','vipnum','mobile','checkname','bank','money','handling_charge','real_money','applytime');
$this->createtable($cash,$filename,$header,$index);
運(yùn)行就可以得到表格:
這種方式生成Excel文件,生成速度很快,但是有缺點(diǎn)是:
1.單純的生成Excel文件,生成的文件沒有樣式,單元格屬性(填充色,寬度,高度,邊框顏色...)不能自定義;
2.生成的文件雖然可以打開,但是兼容性很差,每次打開,都會報一個警告:
解決這個問題也不難,具體參見:使用PHPExcel實(shí)現(xiàn)Excel文件的導(dǎo)入和導(dǎo)出
總結(jié)
以上是生活随笔為你收集整理的PHP生成excel表格文件并下载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业级应用框架(五)IOC容器在框架中的
- 下一篇: Java的递归算法