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 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程序设计有所帮助。

(0)

相关推荐

  • thinkPHP导出csv文件及用表格输出excel的方法

    本文实例讲述了thinkPHP导出csv文件及用表格输出excel的方法.分享给大家供大家参考,具体如下: 1.thinkphp导出csv文件 导出csv文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些html代码,这个不应该,view里面是空的,controller中最后也没有$this->display(),最后细心看到think_page_trace这样的字样,恍然大悟,是页面的跟踪日志,这个默认是会输出来的.最后在方法后面加了一个exit结束就好了,下面是代码: 1.I

  • php导入excel文件到mysql数据库的方法

    本文实例讲述了php导入excel文件到mysql数据库的方法.分享给大家供大家参考.具体分析如下: php导入excel文件入mysql数据库我们是需一借助一个phpexcel类文件了,有了这个类文件我们就可以快速简单的导入excel到mysql数据库中,这里就来举个例子给大家说明一下具体用法. 导入前我们需要先准备一个数据库,sql语句代码如下: 复制代码 代码如下: /* Navicat MySQL Data Transfer   Source Server         : local

  • PHP使用PHPexcel导入导出数据的方法

    本文实例讲述了PHP使用PHPexcel导入导出数据的方法.分享给大家供大家参考,具体如下: 导入数据: <?php error_reporting(E_ALL); //开启错误 set_time_limit(0); //脚本不超时 date_default_timezone_set('Europe/London'); //设置时间 /** Include path **/ set_include_path(get_include_path() . PATH_SEPARATOR . 'http:

  • ThinkPHP基于PHPExcel导入Excel文件的方法

    本文实例讲述了ThinkPHP基于PHPExcel导入Excel文件的方法.分享给大家供大家参考.具体方法如下: 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据. 下载地址:http://phpexcel.codeplex.com/ 开发思路: 1.先把Excel文件上传到服务器 2.获取服务器Excel文件内容 3.写入数据库 一.上传Excel文件,使用PHP里自带的上传方法 "\Think\Upload();",

  • php实现的操作excel类详解

    本文实例讲述了php实现的操作excel类.分享给大家供大家参考,具体如下: <?php class Excel { static $instance=null; private $excel=null; private $workbook=null; private $workbookadd=null; private $worksheet=null; private $worksheetadd=null; private $sheetnum=1; private $cells=array()

  • PHP导入导出Excel代码

    一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reader(); //创建读取Excel的对象 $data->setOutputEncoding('utf-8'); //设置

  • PHPExcel中的一些常用方法汇总

    PHPExcel 是相当强大的 MS Office Excel 文档生成类库,当需要输出比较复杂格式数据的时候,PHPExcel 是个不错的选择.不过其使用方法相对来说也就有些繁琐.列举以记之. 复制代码 代码如下: <? //设置PHPExcel类库的include path set_include_path('.'. PATH_SEPARATOR .                  'D:\Zeal\PHP_LIBS' . PATH_SEPARATOR .                 

  • php excel类 phpExcel使用方法介绍

    下载地址:http://www.codeplex.com/PHPExcel 下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的 创建一个excel $objPHPExcel = new PHPExcel(); 保存excel-2007格式 $objWriter = new PHPExcel_

  • Yii中使用PHPExcel导出Excel的方法

    本文实例讲述了Yii中使用PHPExcel导出Excel的方法.分享给大家供大家参考.具体分析如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法. 1.首先在cofig/main.php中添加对PHPExcel的引用,我的方法是这样,代码如下: 复制代码 代码如下: // autoloading model and component classes     'import'=>array(         /*'application.modu

  • 用PHP生成excel文件到指定目录

    最近公司要生成报表,用PHP生成. header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls"); 我百度了下,貌似这个很快能够实现,但是这个文件却是生成在在浏览器下载的地方, 我想把生成的文件生成到指定的目录,这样能否实现呢? 还有,可以往里面插入图片吗? PHPExcel是英文的,看了半天没看懂.有没

  • php生成excel列名超过26列大于Z时的解决方法

    本文实例讲述了php生成excel列名超过26列大于Z时的解决方法.分享给大家供大家参考.具体分析如下: 我们生成excel都会使用phpExcel类,这里就来给大家介绍在生成excel列名超过26列大于Z时的解决办法,这是phpExcel类中的方法,今天查到了,记录一下备忘,代码如下: 复制代码 代码如下: public static function stringFromColumnIndex($pColumnIndex = 0)  {          //  Using a lookup

随机推荐