校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網站建設 > 建站知識 > 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
主站蜘蛛池模板: 巴东县| 镇宁| 石门县| 象州县| 仲巴县| 景谷| 交口县| 红河县| 潼关县| 武城县| 措勤县| 壶关县| 同心县| 双江| 徐闻县| 桂阳县| 甘孜县| 沁水县| 锦州市| 桂东县| 乐昌市| 密云县| 江达县| 深泽县| 德保县| 秭归县| 甘南县| 临沭县| 兰考县| 洛宁县| 富平县| 大渡口区| 安溪县| 辽阳县| 扬中市| 溧水县| 申扎县| 贺兰县| 泗洪县| 抚顺县| 清流县|