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

5年以前  |  阅读数:974 次  |  编程语言:PHP 

本文实例讲述了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 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"); 
    ?> 

方法二


    <?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"; 
    ?>

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例