国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

dedecms后臺增加php導出excel功能實現辦法

2024-07-12 08:47:43
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了dedecms后臺增加php導出excel功能實現辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。

不少朋友希望織夢的后臺有導出后臺的文章或自定義模型中的數據到excel的功能,361源碼也在網絡上找了一番,發現文章不少,但是功能有缺陷,一般缺陷就是到處后數據出現亂碼,這是個比較麻煩的小問題,整體功能實現了,但是亂碼卻嚴重影響我們的使用,如何處理和完善織夢后臺數據導出到excel,而且不亂碼呢?下面361源碼給大家整理出了一套比較適合的方法,分享給大家。

在后臺目錄創建一個php文件toexcel.php,在最上面加入代碼;

require_once(dirname(__FILE__).'/config.php');require_once(DEDEINC.'/typelink.class.php');require_once(DEDEINC.'/datalistcp.class.php');require_once(DEDEADMIN.'/inc/inc_list_functions.php');

加入導出到excel類:

class Excel{    private $head;     private $body;   public function addHeader($arr){          foreach($arr as $headVal){            $headVal = $this->charset($headVal);             $this->head .= "{$headVal}/t ";        }         $this->head .= "/n";     }   public function addBody($arr){           foreach($arr as $arrBody){             foreach($arrBody as $bodyVal){                 $bodyVal = $this->charset($bodyVal);                 $this->body .= "{$bodyVal}/t ";             }             $this->body .= "/n";        }     }   public function downLoad($filename=''){           if(!$filename)               $filename = date('YmdHis',time()).'.xls';           header("Content-type:application/vnd.ms-excel");           header("Content-Disposition:attachment;filename=$filename");            header("Content-Type:charset=gb2312");           if($this->head)              echo $this->head;             echo $this->body;     }    public function charset($string){         return mb_convert_encoding($string,'GBK','auto');       }

下面361源碼詳細給出上段代碼的解釋

1.輸出列名數組,并轉碼

public function addHeader($arr){          foreach($arr as $headVal){            $headVal = $this->charset($headVal);             $this->head .= "{$headVal}/t ";        }         $this->head .= "/n";     }

2.輸出導出內容數組,并轉碼

public function addBody($arr){           foreach($arr as $arrBody){             foreach($arrBody as $bodyVal){                 $bodyVal = $this->charset($bodyVal);                 $this->body .= "{$bodyVal}/t ";             }             $this->body .= "/n";        }     }

3.設置header頭部信息和導出到excel內容,并輸出到瀏覽器

public function downLoad($filename=''){           if(!$filename)               $filename = date('YmdHis',time()).'.xls';           header("Content-type:application/vnd.ms-excel");           header("Content-Disposition:attachment;filename=$filename");            header("Content-Type:charset=gb2312");           if($this->head)              echo $this->head;             echo $this->body;     }

4.轉碼,這里不用iconv函數,有可能會與gd沖突導致輸出空白。用

public function charset($string){         return mb_convert_encoding($string,'GBK','auto');       }

5.調用方法:

$excel = new Excel();  $excel->addHeader(array('列一','列二','列三','列四')); global $dsql; $sql="select 列一字段,列二字段,列三字段,列四字段 from 表名"; $dsql->SetQuery($sql);$dsql->Execute();while($row = $dsql->GetArray()){$list[]=$row;}unset($row);$excel->addBody($list);  $excel->downLoad();

最后在后臺添加導出到excel代碼:

找到后臺目錄下的templets目錄,下面有個content_list.htm文件,

找到

<a href="javascript:;" onClick="cAtts('attsDel',event,this)" class="coolbg">&nbsp;刪除屬性&nbsp;</a>

在后面加一段代碼

<?php if($channelid==1) echo " <a href=/"toexcel.php/" class=/"coolbg/" target=/"_blank/">導出到excel</a>/r/n"; ?>

$channelid就是你的模型id,根據你導出的表填寫。填寫完之后打開后臺欄目列表就出現導出按鈕

到這里二次開發織夢后臺導出數據到excel的功能就完成了,有需求的朋友,去按照上面操作思路和步驟嘗試,注意操作前做好備份。

以上就是dedecms后臺增加php導出excel功能實現辦法的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永济市| 图们市| 阿拉尔市| 修武县| 江阴市| 凯里市| 青铜峡市| 平舆县| 县级市| 镇赉县| 周宁县| 石棉县| 本溪| 井陉县| 定兴县| 石景山区| 华蓥市| 祁门县| 辛集市| 镇坪县| 阜新市| 通辽市| 阜南县| 泗洪县| 朔州市| 三江| 靖远县| 仁怀市| 民县| 曲阜市| 衡南县| 双柏县| 涞源县| 苏尼特右旗| 鱼台县| 册亨县| 隆尧县| 庐江县| 金坛市| 昂仁县| 通榆县|