[PHP] 使用php生成下載csv文件


原理很簡單,就是用php輸出一個header頭,可以直接讓瀏覽器下載文件

單元格內容用英文逗號分隔, 其中為了防止亂碼,漢字部分會進行一個轉碼操作,從utf8轉為gbk

為了使單元格看起來直觀一點,會增加個\t ,這樣就不會看的時候出現#########

比如下面這個把moveusers數組作為csv文件下載

if(isset($_REQUEST['act'])&& $_REQUEST['act']=="downloadAll") {
    $outformat = "entmove.csv";
    $title = "郵箱名,姓名,郵箱密碼,搬家狀態,開始時間,結束時間,郵件總數,收取數,失敗數\n";
    $data = "";
    foreach ($moveUsers as $b) {
        $status = iconv("utf-8", "gbk//IGNORE", $b['status_text']);
        $realName = iconv("utf-8", "gbk//IGNORE", $b['realName']);
        $data .= "{$b['account']}\t,{$realName}\t,{$b['password']},{$status}\t,{$b['movetime']}\t"
            . ",{$b['endtime']}\t,{$b['totle']},{$b['successnum']},{$b['failnum']}\n";
    }
    $title = iconv("utf-8", "gbk//IGNORE", $title);
    $data = $title . $data;
    header("Cache-control: private");
    header("Pragma: public");
    header('Content-type: application/x-csv');
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5')) {
        header("Content-Disposition: inline; filename=$outformat");
    } else {
        header("Content-Disposition: attachment; filename=$outformat");
    }
    echo $data;
    exit;
}

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM