1. 程式人生 > >dede後臺增加批量上傳和匯出報表的功能

dede後臺增加批量上傳和匯出報表的功能

1、匯出csv檔案

<?php
           require_once (dirname(__FILE__) . "/../include/common.inc.php");
            $output = fopen('','w') or die("can't open ");
                        header('Content-Type: application/csv');
                        header('Content-Disposition: attachment; filename="認證列表.csv"');
                        $arrkeys = array(
                            iconv('utf-8','gb2312','姓名'),
                            iconv('utf-8','gb2312','電話')//檔案表頭
                            );
                        fputcsv($output, $arrkeys);
                        //取得符合條件的陣列
                         $sql = "SELECT * FROM dede_test";
                           $dsql->Execute('me',$sql);
                       while($row = $dsql->GetArray('me')){
                                $name =$row['name'];
                                $mobile= $row['mobile']; //迴圈
 
                                $arrkeys = array(
                                    iconv('utf-8','gb2312',$name),
                                    iconv('utf-8','gb2312',$mobile)
                                    );
                                fputcsv($output, $arrkeys);
                            }
 
                    fclose($output) or die("can't close ");
                    exit();
?>

2、匯入xls檔案
<?php
           require_once (dirname(__FILE__) . "/../include/common.inc.php");
           include_once("excel/reader.php");
                 $tmp = $_FILES['file']['tmp_name'];
                 if (empty ($tmp)) {
                       ShowMsg("請選擇要匯入的Excel檔案!","test.php");
                         exit;
                 }
 
                 $save_path = "xls/";
                 $file_name = $save_path.date('Ymdhis') . ".xls";
                 if (copy($tmp, $file_name)) {
                         $xls = new Spreadsheet_Excel_Reader();
                         $xls->setOutputEncoding('utf-8');
                         $xls->read($file_name);
                         for ($i=2; $i<=$xls->sheets[0]['numRows']; $i++) {
                                 $name = $xls->sheets[0]['cells'][$i][1];
                                 $mobile = $xls->sheets[0]['cells'][$i][2]
                                 $data_values .= "('$name','$mobile'),";
                         }
                         $data_values = substr($data_values,0,-1);
                         $sql= "INSERT INTO dede_test (name,mobile) VALUES $data_values";
                        $dsql->ExecuteNoneQuery($sql);
                         $lastInsertID = $dsql->GetLastID();
                     if($dsql){
                            ShowMsg("成功匯入!","test.php");
                     }else{
                            ShowMsg("匯入失敗!","test.php");
                     }
                 }
               exit();
?>

dede後臺匯出demo,點選下載 PHP匯出xls