php导出中文内容excel文件类实例
本文实例讲述了php导出中文内容excel文件类。分享给大家供大家参考。具体如下:
<?php classtoExcel{ public$link=null; function__construct(){ } /*************************************************************************** *$mapping:数组格式头信息$map=array('No','Name','Email','Age'); *$datalist:数据库查出来的结果集 *$fileName:Excel文件名称 *return:Excel格式文件 **************************************************************************/ publicfunctiontoExcel($mapping,$datalist,$fileName){ header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=".iconv('utf-8','gb2312',$fileName).".xls"); echo'<htmlxmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="[url=http://www.w3.org/TR/REC-html40]http://www.w3.org/TR/REC-html40[/url]"> <head> <metahttp-equiv="expires"content="Mon,06Jan199900:00:01GMT"> <metahttp-equiv=Content-Typecontent="text/html;charset=UTF-8"> <!--[ifgtemso9]><xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name></x:Name> <x:WorksheetOptions> <x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml><![endif]--> </head> <bodylink=bluevlink=purpleleftmargin=0topmargin=0>'; echo'<tableborder="0"cellspacing="0"cellpadding="0">'; echo'<tr>'; if(is_array($mapping)){ foreach($mappingas$key=>$val) echo"<tdstyle='background-color:#09F;font-weight:bold;'>".$val."</td>"; } echo'</tr>'; foreach($datalistas$k=>$v){ echo'<tr>'; foreach($vas$key=>$val){ if(is_numeric($val)&&strlen($val)>=14){ echo"<tdstyle='vnd.ms-excel.numberformat:@'>".$val."</td>";//大于14位的数字转换成字符串输出(如身份证) }else{ echo"<td>".$val."</td>"; } } echo'</tr>'; } echo'</table>'; echo'</body>'; echo'</html>'; } } $map=array('No','Name','Email'); $datal=array(array(1,'管理员','admin@163.com'),array(2,'member','member@163.com'));; $csv=newtoExcel; $csv->toExcel($map,$datal,"dataexport"); ?>
方法二
<?php header("Content-Type:application/vnd.ms-execl"); header("Content-Disposition:attachment;filename=myExcel.xls"); header("Pragma:no-cache"); header("Expires:0"); /*firstline*/ $data1="中文测试"; $data1=mb_convert_encoding($data1,"GB2312","UTF-8"); echo$data1."\t"; echo"world"."\t"; echo"\t\n"; /*startofsecondline*/ echo"thisissecondline"."\t"; echo"Hi,prettygirl"."\t"; echo"\t\n"; ?>
希望本文所述对大家的php程序设计有所帮助。