dede後臺增加批量上傳和匯出報表的功能
阿新 • • 發佈:2019-02-12
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