php导出中文内容excel文件类实例
这篇文章主要介绍了php导出中文内容excel文件类,实例分析了php操作带有中文内容的Excel文件及文件导出的实现方法,需要的朋友可以参考下。
本文实例讲述了php导出中文内容excel文件类,分享给大家供大家参考,具体如下:
- <?php
- class toExcel{
- public $link = null;
- function __construct(){
- }
- /***************************************************************************
- * $mapping:数组格式头信息$map=array('No','Name','Email','Age');
- * $datalist:数据库查出来的结果集
- * $fileName:Excel文件名称
- * return:Excel格式文件
- **************************************************************************/
- public function toExcel($mapping,$datalist,$fileName) {
- header("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:filename=".iconv('utf-8', 'gb2312', $fileName).".xls");
- echo'<html xmlns: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>
- <meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT">
- <meta http-equiv=Content-Type content="text/html; charset=UTF-8">
- <!--[if gte mso 9]><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>
- <body link=blue vlink=purple leftmargin=0 topmargin=0>';
- echo'<table cellspacing="0" cellpadding="0">';
- echo'<tr>';
- if(is_array($mapping)) {
- foreach($mapping as $key=>$val)
- echo"<td >".$val."</td>";
- }
- echo'</tr>';
- foreach($datalist as $k=>$v){
- echo'<tr>';
- foreach($v as $key=>$val){
- if(is_numeric($val) && strlen($val)>=14){
- echo"<td >".$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=new toExcel;
- $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");
- /*first line*/
- $data1= "中文测试";
- $data1=mb_convert_encoding($data1,"GB2312","UTF-8");
- echo $data1."\t";
- echo "world"."\t";
- echo "\t\n";
- /*start of second line*/
- echo "this is second line"."\t";
- echo "Hi,pretty girl"."\t";
- echo "\t\n";
- ?>