php 匯出excel類

來源:互聯網
上載者:User
/**

* 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;

}

}

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.