php 导出excel类

前端之家收集整理的这篇文章主要介绍了php 导出excel类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

/**

* excel导出类

*

* 使用方法

$excel=new Excel();

* //设置编码:

*$excel->setEncode("utf-8","gb2312"); //如果不转码,参数写一样即可,例如$excel->setEncode("utf-8","utf-8");

* //设置标题栏

* $titlearr=array("a","b","c","d");

* //设置内容栏

* $contentarr=array(

* 1=>array("ab","ac","ad","ae"),* 2=>array("abc","acc","adc","aec"),* 3=>array("abd","acd","add","aed"),* 4=>array("abe","ace","ade","aee"),* );

* $excel->getExcel($titlearr,$contentarr,"abc");

*/

class Excel {

 var $inEncode; //一般是页面编码


 var $outEncode; //一般是Excel文件的编码


 public function __construct(){


 }

 /**

 *设置编码

 */

 public function setEncode($incode,$outcode){

  $this->inEncode=$incode;


  $this->outEncode=$outcode;

 }

 /**

 *设置Excel的标题栏

 */

 public function setTitle($titlearr){

  $title="";

  foreach($titlearr as $v){

   if($this->inEncode!=$this->outEncode){

    $title.=iconv($this->inEncode,$this->outEncode,$v)."\t";

   }

   else{

    $title.=$v."\t";

   }

  }

  $title.="\n";

  return $title;

 }

 /**

 *设置Excel内容

 */

 public function setRow($array){

  $content="";

  foreach($array as $k => $v){

   foreach($v as $vs){

    if($this->inEncode!=$this->outEncode){

     $content.=iconv($this->inEncode,$vs)."\t";

    }

    else{

     $content.=$vs."\t";

    }

   }

   $content.="\n";

  }

  return $content;

 }

 /**

 *生成自动下载Excel

 * $titlearr 标题栏数组

 * $array 内容数组

 * $filename 文件名称 (为空,已当前日期为名称)

 */

 public function getExcel($titlearr,$array,$filename=''){

  if($filename==''){

   $filename=date("Y-m-d");

  }

  $title=$this->setTitle($titlearr);

  $content=$this->setRow($array);

  header("Content-type:application/vnd.ms-excel");

  header("Content-Disposition:filename=".$filename.".xls");

  echo $title;

  echo $content;

 }

}



以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

原文链接:https://www.f2er.com/php/462747.html

猜你在找的PHP相关文章