Home >Backend Development >PHP Tutorial >php导出中文内容excel文件类实例_PHP

php导出中文内容excel文件类实例_PHP

WBOY
WBOYOriginal
2016-05-30 08:45:33899browse

本文实例讲述了php导出中文内容excel文件类。分享给大家供大家参考。具体如下:

<&#63;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 border="0" cellspacing="0" cellpadding="0">'; 
  echo'<tr>'; 
  if(is_array($mapping)) { 
   foreach($mapping as $key=>$val) 
   echo"<td style='background-color:#09F;font-weight:bold;'>".$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 style='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=new toExcel; 
$csv->toExcel($map,$datal,"dataexport"); 
&#63;> 

方法二

<&#63;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"; 
&#63;>

希望本文所述对大家的php程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn