1. 程式人生 > >php直接生成.csv字尾檔案的excel表格例項

php直接生成.csv字尾檔案的excel表格例項

先了解如何生成字尾為 .csv檔案的方法 傳送門

   # 陣列,呼叫下面方法然後直接下載
    public function index(){
        $array = [
            ['name' => '張三','age' => 17],
            ['name' => '李四','age' => 18],
            ['name' => '王五','age' => 19],
            ['name' => '麻二','age' => 20],
        ];

        return
$this->export_csv($array); }
/***
     * 匯出下載excel
     * @param [array] $array [要轉換excel陣列]
     */
    public function export_csv($array){
        $temp = '';
        foreach ($array as $value)
        {
            foreach ($value as $k => $val)
            {
                $value
[$k] = iconv('utf-8','gb2312',$value[$k]); } $temp .= implode(",",$value)."\n"; //用英文“逗號”分開,獲取值 } # 獲取name,age做標題【這裡我沒有想到更好的方法,做個flag以便以後更加完善】 ## 就是要取出 ‘name’,'age' 這兩個key $keyname = array_keys($array[0])[0] . ',' . array_keys($array[0])[1] ."\n"; $string
= $keyname. $temp;//拼接 $filename = date('Ymd').'.csv'; //設定檔名 header("Content-type:text/csv"); header("Content-Disposition:attachment;filename=".$filename); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); echo $string; }

最終匯出的excel如下:

這裡寫圖片描述

以上是沒有使用類庫的生成簡單excel方法!