婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > dede織夢后臺增加php導出到excel功能不出現亂碼

dede織夢后臺增加php導出到excel功能不出現亂碼

POST TIME:2017-11-12 23:54

dede織夢系統怎樣導出后臺的文章或自定義模型中的數據到excel,并且不出現亂碼

在后臺目錄創建一個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');

}

}

代碼解釋:

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');

}

7.調用方法;

$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,根據你導出的表填寫。填寫完之后打開后臺欄目列表就出現導出按鈕




上一篇:Dedecms數據庫結構表名:dede_addonarticle

下一篇:織夢dedecms后臺登錄提示Call to undefined function get

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 调兵山市| 东阿县| 友谊县| 久治县| 保定市| 墨竹工卡县| 桦南县| 麟游县| 鹤庆县| 安西县| 青海省| 尚义县| 木兰县| 买车| 郑州市| 章丘市| 梁山县| 丘北县| 江达县| 施甸县| 图木舒克市| 利津县| 昭通市| 巴彦县| 磴口县| 方山县| 土默特左旗| 洱源县| 湛江市| 夏邑县| 宽城| 乌兰浩特市| 株洲市| 丹巴县| 德化县| 张北县| 金坛市| 来宾市| 绍兴市| 西宁市| 萍乡市|