将データ导出excel当中,欢迎大家拍砖
- /**
- * Excelファイルにエクスポート(一般的に中国語をエクスポートすると文字化けするのでエンコード変換が必要)
- * 使用方法は以下の通り
- * $excel = new Excel();
- * $excel->addHeader(array('Column 1 ', '列 2','列 3','列 4'));
- * $excel->addBody(
- array(
- array('データ 1','データ 2','データ 3','データ 4 '),
- array('data1','data2','data3','data4'),
- array('data1','data2','data3','data4') ,
- array('data1 ','data2','data3','data4')
- )
- );
- * $excel->downLoad();
- */
- class Excel{
- private $head;
- private $body;
-
- /**
- *
- * @param type $arr 1次元配列
- */
- public function addHeader($arr){
- foreach($arr as $headVal){
- $headVal = $this->charset($headVal);
- $this->head .= "{$headVal}t ";
- }
- $this-> head .= "n";
- }
-
- /**
- *
- * @param type $arr 二次元配列
- */
- public function addBody($arr){
- foreach($arr as $arrBody){
- foreach($arrBody as $bodyVal){
- $ bodyVal = $this->charset($bodyVal);
- $this->body .= "{$bodyVal}t ";
- }
- $this->body .= "n";
- }
- }
-
- /**
- * Excelファイルをダウンロードします
- */
- public function downLoad($filename=''){
- if(!$filename)
- $filename = date('YmdHis',time()).'.xls';
- header ("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:attachment;filename=$filename");
- header("Content-Type:charset=gb2312");
- if($this->head)
- echo $this->head;
- echo $this->body;
- }
-
- /**
- * エンコード変換
- * @param type $string
- * @return string
- */
- public function charset($string){
- return iconv("utf-8", "gb2312", $string);
- }
- }
- ?>
复制發
|