亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php導出CSV的方法

    制作網(wǎng)站時,經(jīng)常會遇到檢索數(shù)據(jù)列表的情況。通常用戶希望下載這些列表數(shù)據(jù)并存儲到客戶端。當然下載這些數(shù)據(jù)的時候是需要固定的格式,以便于用Excel等軟件閱覽。說的簡單一些就是CSV/Excel數(shù)據(jù)導出 。

    注意事項:

    輸出文檔的基本格式為:列1,列2,列3,……,列nn

    格式化數(shù)據(jù)的同時要對特殊的字符進行過濾。譬如“,”如果不轉換為全角“,”會導致數(shù)據(jù)格式的混亂。

    實現(xiàn)方法:

    舉例:檢索數(shù)據(jù)庫表,將結果保存為字符串,進行格式和特殊字符的過濾后,導出到客戶端的CSV文件。 

    OrderSearchEdit_saveCSV.php

    <?php
    include($_SERVER[’DOCUMENT_ROOT’] . “/ftcart/OrderInfoManager.class.php”);
    include($_SERVER[’DOCUMENT_ROOT’] . “/ftcart/CommonUtil.php”);
    include($_SERVER[’DOCUMENT_ROOT’] . “/ftcart/CommonConst.php”);
    include($_SERVER[’DOCUMENT_ROOT’] . “/ftcart/CommonErrorMsg.php”);
    include($_SERVER[’DOCUMENT_ROOT’] . “/webadmin.php”);

    $searchcase = new OrderInfoManager();
    $nowTime = microtime_float();
    $searchcase = unserialize($_SESSION[“ORDER_SEARCH_CASE”]);
    $listcsv = $searchcase->doCSV();// 調(diào)用doCSV()方法
    $filename = $nowTime;
    //$filename = str_replace(“:”,””,$nowTime);
    //$filename = trim($filename);
    //echo $filename;
    header(“Content-Disposition: attachment; filename=”.$filename.”.csv”);
    header(’Content-Type:APPLICATION/OCTET-STREAM’);
    echo “注文No.,注文日,氏名,住所,支払い方法,合計金額,発送 “;
    echo $listcsv;
    ?>
    doCSV()方法:

    function doCSV(){
    global $db;
    $nowdate = getNowDateYYYYMMDD();
    $SQL = “#####”;                
    $rs=$db->query($SQL);
    $result;
    $payment_method;
    $delivery_status;
    if ((! DB::isError($rs))) {
        while ($row = $rs->fetchRow()){
        $row = Common_record($row);
        if($row[’payment_method_id’]==0){$payment_method=”銀行振り込み”;}
        else if($row[’payment_method_id’]==1){$payment_method=”郵便局”;}
        else if($row[’payment_method_id’]==2){$payment_method=”代引き”;}
        else{$payment_method=””;}
                        
        if($row[’actual_send_date’]>$nowdate){$delivery_status=”未発送”;}

     

    else if($row[’actual_send_date’]<$nowdate){$delivery_status=”発送済”;}
        //格式化并過濾特殊字符                
        $result .= $row[’order_id’].”,”.
        $row[’create_date’].”,”.
        $row[’order_first_name’].”  “.
        $row[’order_last_name’].”,”.
        str_replace(“,”,”,”,$row[’order_address’]).”,”.
        $payment_method.”,”.
        $row[’amount’].”,”.
        $delivery_status.” “;    
        }
        return $result;        
                   }        
    }    
     

    這樣就ok啦,在你的導出數(shù)據(jù)html頁面做一個<input type=”button” onclick=”do_CSV()”>然后在JS里面寫一個提交form的do_CSV(),并將form action到OrderSearchEdit_saveCSV.php就完成了。應該注意的是由于OrderSearchEdit_saveCSV.php中聲明的是一個Content-Type:APPLICATION/OCTET-STREAM所以當前頁面不會被刷新。這點可能大家都知道,不過我是剛學到的,所以記錄一下。

     

     

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號