亚洲欧美成人综合一区_国产精品一区二区无码_亚洲风情偷拍区_成?人免费无码视频在线看

在線客服與您一對(duì)一交流
當(dāng)前位置: 主頁 > 行業(yè)新聞 > IT技術(shù) >

dedecms后臺(tái)增加php導(dǎo)出excel功能實(shí)現(xiàn)辦法

這篇文章主要為大家詳細(xì)介紹了dedecms后臺(tái)增加php導(dǎo)出excel功能實(shí)現(xiàn)辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。
 

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

在后臺(tái)目錄創(chuàng)建一個(gè)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');

加入導(dǎo)出到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源碼詳細(xì)給出上段代碼的解釋

1.輸出列名數(shù)組,并轉(zhuǎn)碼

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

2.輸出導(dǎo)出內(nèi)容數(shù)組,并轉(zhuǎn)碼

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

3.設(shè)置header頭部信息和導(dǎo)出到excel內(nèi)容,并輸出到瀏覽器

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.轉(zhuǎn)碼,這里不用iconv函數(shù),有可能會(huì)與gd沖突導(dǎo)致輸出空白。用

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

5.調(diào)用方法

$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();

最后在后臺(tái)添加導(dǎo)出到excel代碼:

找到后臺(tái)目錄下的templets目錄,下面有個(gè)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\">導(dǎo)出到excel</a>\r\n"; ?>

$channelid就是你的模型id,根據(jù)你導(dǎo)出的表填寫。填寫完之后打開后臺(tái)欄目列表就出現(xiàn)導(dǎo)出按鈕

到這里二次開發(fā)織夢后臺(tái)導(dǎo)出數(shù)據(jù)到excel的功能就完成了,有需求的朋友,去按照上面操作思路和步驟嘗試,注意操作前做好備份。

以上就是dedecms后臺(tái)增加php導(dǎo)出excel功能實(shí)現(xiàn)辦法的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)和解決疑問有所幫助,

相關(guān)文章:

  • 帝國CMS是什么程序 帝國CMS是一套開源的靜態(tài)頁面程序,憑借超高的擴(kuò)展性,很多知名的新聞?wù)军c(diǎn)、行業(yè)站點(diǎn)都是應(yīng)用的帝國CMS后端。因?yàn)榈蹏鳦MS和dedecms一樣都是生成靜態(tài)頁面的,所以非常利于...

  • 域名解析DNS分為顯性URL和隱形URL,顯性URL和隱形URL有什么區(qū)別?隱形URL和顯性URL哪個(gè)更有利于SEO?顯性URL相當(dāng)于域名了302重定向,隱形URL使用iframe框架技術(shù)隱藏真實(shí)目標(biāo)地址,顯性URL更有利于...

  • 在常見的CMS系統(tǒng)中,我對(duì)dedecms算是比較熟悉的,自己網(wǎng)站用的也是這個(gè)系統(tǒng)。系統(tǒng)功能強(qiáng)大使用靈活,相信這也是它受到大多數(shù)中小站長青睞的原因。 再好的系統(tǒng)也有照顧不周的地方,很多站...

  • 第一次使用的插件是 pdfobject.js 百度網(wǎng)盤下載地址:http://pan.baidu.com/s/1kUPhYdT 加載 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

  • 網(wǎng)上有一種方法是copy+unlink來移動(dòng)文件,但是遇到大文件時(shí)會(huì)消耗大量時(shí)間,對(duì)性能不怎么友好,可以使用rename()來移動(dòng)文件,速度非???關(guān)于rename()函數(shù) bool rename ( string $oldname , string $newname...

  • 基于我們公司可選的幾種推廣方式: 一、關(guān)鍵詞優(yōu)化排名推廣(推薦) 指定關(guān)鍵詞推廣,按天付費(fèi),推廣我們業(yè)務(wù)中最重要的一些關(guān)鍵詞,達(dá)到百度首頁才收費(fèi),大概一個(gè)關(guān)鍵詞10元/天左右。...

  • 插件介紹 wordpress程序網(wǎng)站在發(fā)布文章時(shí)可以給每一片文章添加與之相關(guān)的TAG標(biāo)簽,對(duì)于TAG標(biāo)簽可以生成很多頁面,增加搜索引擎對(duì)內(nèi)容的抓取量。 WP Auto Keywords插件就是一款能自動(dòng)給文章添加...

  • 5.7 生成列表頁 改動(dòng) include/arc.listview.class.php 1.先設(shè)置 關(guān)閉副欄目(在系統(tǒng)----系統(tǒng)基本參數(shù)性能選項(xiàng)里) 2.一般網(wǎng)站不需要 欄目交叉 交叉 所以 找到94行注釋掉: //獲得交叉欄目ID /*if($this-Type...

  • 使用preg_replace將刪除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打開一個(gè)與perl不兼容的附加功能. 模式...

  • 1、公共相同部分用引入1個(gè)靜態(tài)文件方式,不解析 2、arclist標(biāo)簽進(jìn)來不使用屬性flag、不使用自定義字段addfields、不使用隨機(jī)、相同部分用引入1個(gè)靜態(tài)文件方式,不解析 3、tag標(biāo)簽或者關(guān)鍵詞內(nèi)鏈...

  • 公司:西安蟠龍網(wǎng)絡(luò)科技有限公司
  • 聯(lián)系人:張經(jīng)理
  • 手機(jī)/微信:
  • Q Q: 點(diǎn)擊這里給我發(fā)消息
  • 地址:西安市雁塔區(qū)唐延南路11號(hào)逸翠園i都會(huì)