php匯出excle檔案的封裝

2021-08-31 03:34:41 字數 1908 閱讀 3971

通過提交篩選條件,獲取統計資料,然後以excel檔案的格式匯出來,這是乙個比較常用的功能,最近恰好有用到,記錄一下;

if ($export)
$key_list 表示陣列下面的鍵,$key_name表示excel的表頭,要一一對應;

執行這段**,直接數輸出檔案;

匯出類的封裝

<?php

/** * 本檔案為匯出檔案的基本類 可以根據查詢的資料匯出

*/// 匯出檔案相關的類

class exportfile

if(!$encode_type)

else

}public function export_csv($data,$file_name = '',$key_list=array(),$key_name=array(),$title='',$sub_title='',$note='')

else

$this->file_name = $file_name;

$result = $this->format_data($data,$key_list,$key_name,$title,$sub_title,$note);

unset($data);

$this->export($result,$this->file_name); }

private function format_data($data,$key_list = array(),$key_name = array(),$title = '',$sub_title = '',$note = '')

$result = array();

$result[0]['title'] = $title;

$result[1]['sub_title'] = $sub_title;

$result[2]['note'] = $note;

$cn = count($key_list);

$re_cn = count($result);

// 表頭資訊

for($i = 0;$i < $cn;$i++)

else

}$re_cn++;

} return $result;

} private function export($data,$filename)

if($this->encode_type == 'utf-8')

ob_start();

header('pragma: public');

header('last-modified: '.gmdate('d, d m y h:i:s') . ' gmt');

header('cache-control: no-store, no-cache, must-revalidate');

header('cache-control: pre-check=0, post-check=0, max-age=0');

header('content-transfer-encoding: binary');

header('content-encoding: utf-8');

header('content-type: text/comma-separated-values');//檔案型別

header('content-disposition: attachment; filename='.$filename.'');//檔名稱

foreach($data as $k=>$v)

else

}if($row == '')

$row.= "\r\n";

if($this->encode_type == 'utf-8')

echo $row;

}ob_end_flush();

exit();

}};?>

PHP生成excle檔案

excle word.php 生成excle檔案 time time filename date y年m月d日h點m分s秒 time 問卷資料 rows sp looks vote downvote file filename.csv header content description file ...

使用excle匯出資料的方法

一 匯出資料到excel中的實現方法 string filename 明細.xlsx configuration config new configuration config.setmetainfotoken xlstransformer transformer new xlstransforme...

PHP封裝 檔案上傳

function check file,folder uploads prefix 上傳檔案重新命名 newname uniqid prefix,true strrchr file name newdir newname 檔案拓展名驗證 info finfo open fileinfo mime t...