婷婷综合国产,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
主站蜘蛛池模板: 彩票| 历史| 内乡县| 剑阁县| 休宁县| 泉州市| 卢湾区| 饶阳县| 呼伦贝尔市| 布拖县| 康乐县| 勃利县| 福贡县| 中西区| 集贤县| 平远县| 营口市| 青海省| 平顶山市| 聂荣县| 和顺县| 鸡东县| 新化县| 武平县| 灵石县| 四子王旗| 阳高县| 垦利县| 桃园市| 仪陇县| 武城县| 如皋市| 磐安县| 泗阳县| 密山市| 定襄县| 芒康县| 依兰县| 青川县| 曲水县| 龙州县|