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

yipeiwu_com5年前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中时间函数date及常用的时间计算

曾在项目中需要使用到今天,昨天,本周,本月,本季度,今年,上周上月,上季度等等时间戳,趁最近时间比较充足,因此计划对php的相关时间知识点进行总结学习 1,阅读php手册date函数 常...

smarty巧妙处理iframe中内容页的代码

废话不多说,进去正题 做过后台的,应该都知道,经常要用到iframe来处理导航,如果按一般的思路来做这个功能,还是挺简单的 可是当我用smarty的时候,就发现了问题,比如,一个ifra...

php include的妙用,实现路径加密

1、中转程序include.inc 复制代码 代码如下: <? include_once 'include/Base.php'; $path = ''; $url = isBase...

php 接口类与抽象类的实际作用

1.php 接口类:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个...

PHP多人模块开发原理解析

PHP多人模块开发原理解析

作为世界上最“好”的语言,在web里占据着大概80%的份额,中小公司基本都说 lnmp 架构。当一个仓库开发人员大于1,20人的时候,每个人可能开发不同的模块和功能,用代码版本控制工具比...