dedecms后台增加批量上传和导出报表的功能

前端之家收集整理的这篇文章主要介绍了dedecms后台增加批量上传和导出报表的功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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','电话')//文件表头
                            );
                        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',$name),$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,-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

猜你在找的Dedecms相关文章