喵喵笨兔 の 喵喵的家~遊戲天地 - 首頁(上版面)
喵喵笨兔 の 喵喵的家~遊戲天地 - 首頁(左版面)
首  頁 最新消息 遊戲攻略 遊戲影片 遊戲圖片 下載區 學習分享 留言板 FB粉絲團
 喵喵笨兔 の 喵喵的家~遊戲天地 - PHP 以 PDO 方式直接將 MySQL 資料匯出成 EXCEL 或 CSV 檔

PHP 以 PDO 方式直接將 MySQL 資料匯出成 EXCEL 或 CSV 檔

 此方式會將 MySQL 資料庫的某資料表資料,全部匯出成 Excel 或 CSV 檔。(此為笨兔自己記錄參考用,若有需者就參考!若有錯誤或其它方法,請自行更正唄!)

  • 下面的範例網頁做好後,假設檔名為 html_059.php,則只要在網頁上做個超連結到 html_059.php,即可跳出另存新檔視窗了 ^^。
  • 範例程式碼:假設為 html_059.php 基本上如下 ^ ^。

    ※ 假設 MySQL 資料庫相關資訊如下 ※

    • 資料表名稱:TEST
    • 資料表欄位名稱: T_idT_nameT_tel 共3個欄位
    <?php 
    //pdo連接資料庫
    $dbhost = "伺服器名稱";
    $dbuser = "使用者名稱";
    $dbpass = "使用者密碼";
    $dbname = "資料庫名稱";
    try{
    $dsn = "mysql:host=".$dbhost.";dbname=".$dbname.";charset=utf8";
    $conn= new PDO($dsn, $dbuser, $dbpass);
    //發生錯誤出現錯誤提醒
    $conn ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }catch(PDOException $e){
    //發生錯誤結束資料庫連線並顯示錯誤訊息
    die($e -> getMessage());
    }
    $sql = "select * from TEST";
    $rs = $conn ->prepare($sql);
    $rs -> execute();
    //SQL匯出EXCEL,執行此網頁就會直接跳出另存EXCEL新檔的視窗了...
    //要匯出EXCEL/CSV第二行必設application/vnd.ms-excel
    header('Content-type: text/html; charset=utf-8');
    header("Content-type:application/vnd.ms-excel;charset=UTF-8");
    //filename=您要儲存的檔案名,如 123.xls 或 123.csv,新xlsx檔似乎有問題
    header("Content-Disposition:filename=123.xls");
    // \n=跳行 ,或\t=跳格 pdo好像不能用\t echo "編號,姓名,電話\n"; //此為EXCEL第一行欄位名稱,要啥名稱自設來對應匯出的欄位唄!若不要欄位名,此行可省略
    while($row = $rs -> fetch(PDO::FETCH_ASSOC)){
    echo $row['T_id'].",".$row['T_name'].",".$row['T_tel']."\n";
    };
    ?>

笨兔隨手筆記於 2021/4/18

喵喵笨兔 の 喵喵的家~遊戲天地
http://vv0817.tk
http://vv0817.gq
http://vv0817.ga
http://vvv.nde.tw
http://vvv.lionfree.net
https://vv0817.neocities.org
http://qo3op.asuscomm.com/vvv