Home > Backend Development > PHP Tutorial > php 导出excel类

php 导出excel类

WBOY
Release: 2016-06-23 13:42:37
Original
933 people have browsed it

/**

* 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,$this->outEncode,$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;

 }

}


Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template