花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來(lái)到素材無(wú)憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

織夢(mèng)dede源碼使用PHPEXCEL將內(nèi)容數(shù)據(jù)導(dǎo)出到excel的方法

時(shí)間: 2018-11-30 10:13 閱讀: 作者:素材無(wú)憂網(wǎng)

對(duì)于一些企業(yè)網(wǎng)站來(lái)說(shuō),經(jīng)常需要把網(wǎng)站上的數(shù)據(jù)導(dǎo)出到EXCEL來(lái)進(jìn)行分析,這里就需要用到PHPEXCEL,可以方便導(dǎo)出網(wǎng)站MYSQL數(shù)據(jù)庫(kù)內(nèi)容到EXCEL總

  phpexcel是外國(guó)人寫(xiě)專(zhuān)門(mén)處理從數(shù)據(jù)庫(kù)到excel的功能庫(kù),下載地址:https://github.com/PHPOffice/PHPExcel

里面有很多的例子,包括excel,csv,word,pdf,htm等從數(shù)據(jù)庫(kù)導(dǎo)出來(lái)的文件格式,可以參考一下例子。

 

  笨牛網(wǎng)先把從織夢(mèng)系統(tǒng)導(dǎo)出來(lái)的效果上個(gè)圖給大家看看:

 

織夢(mèng)dede源碼使用PHPEXCEL將內(nèi)容數(shù)據(jù)導(dǎo)出到excel的方法(圖1)

 使用中遇到一個(gè)問(wèn)題,就是以前的時(shí)間,在excel是正常顯示的,但是,現(xiàn)在加上的時(shí)間則顯示:1970-01-01 ,研究了很久,原來(lái)字段寫(xiě)錯(cuò)了。本來(lái)是pubdate,結(jié)果寫(xiě)成了sentdate

 

  其它都是正常顯示的

 

現(xiàn)在就介紹一下從織夢(mèng)系統(tǒng)導(dǎo)出數(shù)據(jù)的方法:

 

1.從國(guó)外網(wǎng)站下載上面的phpexcel類(lèi)庫(kù),解壓后,放到根目錄里面。

 

2.然后,寫(xiě)導(dǎo)出程序,這個(gè)可以參考這里面的例子寫(xiě),請(qǐng)注意的是:若你的不行,程序可能會(huì)提示404錯(cuò)誤,這個(gè)就是你的路徑?jīng)]有設(shè)置好,剛開(kāi)始時(shí),我也是這個(gè)原因一直弄不對(duì),最后,才發(fā)現(xiàn)原來(lái)是路徑錯(cuò)了。

 

  這個(gè)導(dǎo)出程序主要做如下四步:

 

   a. 從織夢(mèng)中查詢(xún)出數(shù)據(jù)

 

   b.設(shè)置表格

 

   c.把數(shù)據(jù)放入表格

 

   c.輸出數(shù)據(jù)到excel里面

 

  里面的設(shè)置大多數(shù)都是調(diào)用phpexcel類(lèi)里面的函數(shù),這里不多解釋了,看我在文件dedebnxb.php寫(xiě)的代碼:

 

 

require_once (DEDEINC . '/common.func.php');
 
if ($action == 'allexport') {
 
    include_once DEDEINC . '/PHPExcel.php';
    // Create new PHPExcel object
    $objPHPExcel = new PHPExcel();
 
    $objActSheet = $objPHPExcel->getActiveSheet();
 
    // Set document properties
    $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")
    ->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")
    ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")
    ->setCategory("Test result file");
          //www.bnxb.com 笨牛網(wǎng)
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A1', 'id')
    ->setCellValue('B1', '標(biāo)題')
    ->setCellValue('C1', '排序')
    ->setCellValue('D1', '出版時(shí)間')
    ->setCellValue('E1', '關(guān)鍵詞')
    ->setCellValue('F1', '簡(jiǎn)介')
    ->setCellValue('G1', '發(fā)布時(shí)間')
    ->setCellValue('H1', '會(huì)員id')
    ->setCellValue('I1', 'flag')
    ->setCellValue('J1', '欄目id');
    $query = "Select * From `dede_archives` ";
    $dsql->SetQuery($query);
    $dsql->Execute();
 
    $index = 1;
 
    while ($row = $dsql->GetArray()) {
 
        $index++;
        $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A' .
        $index, $row['id'])->setCellValue('B' .
        $index, iconv("gb2312","utf-8",$row['title']))->setCellValue('C' .
        $index, $row['sortrank'])->setCellValue('D' .
        $index, "2015-7-23")->setCellValueExplicit('E' .
        $index, iconv("gb2312","utf-8",$row['keywords']))->setCellValue('F' .
        $index, iconv("gb2312","utf-8",$row['description']))->setCellValue('G' .
        $index, gmdate("Y-m-d",$row['pubdate']))->setCellValue('H' .
        $index, $row['mid'])->setCellValue('I' .
        $index, $row['flag'])->setCellValue('J' .
        $index, $row['typeid']);
    }
 
    // Rename worksheetwww.bnxb.com
    $objPHPExcel->getActiveSheet()->setTitle('Simple');
 
    // Set active sheet index to the first sheet, so Excel opens this as the first sheet
    $objPHPExcel->setActiveSheetIndex(0);
 
    // Redirect output to a client’s web browser (Excel5)
    header('Content-Type: application/vnd.ms-excel');
 
    header('Content-Disposition: attachment;filename="list.xls"');
    header('Cache-Control: max-age=0');
 
    $objWriter = PHPExcel_IOFactory :: createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
 
}

 

  特別特別注意:在這個(gè)最上面一行要寫(xiě)上你的從網(wǎng)站上下載下來(lái)的phpexcel類(lèi)的路徑,也就是把這個(gè)類(lèi)引入到這個(gè)文件里面,只有引入到里面才能調(diào)用。

 

  最后,在你的模板里面把下面這二行中的任意一行寫(xiě)在模板里即可:

    <input name="ss12" value="導(dǎo)出全部訂單" style="width:90px;margin-right:6px" onclick="location='crtadmin/download_oneapply.php?action=allexport';" class="np coolbg" type="button">

    <a href='crtadmin/download_excel.php?action=allexport'>execl</a>

我這里放二行是因?yàn)?有的站長(zhǎng)可能只需要一個(gè)超鏈接,有的可能需要一個(gè)input,二個(gè)任選一個(gè)即可。

 

版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)dede源碼使用PHPEXCEL將內(nèi)容數(shù)據(jù)導(dǎo)出到excel的方法

標(biāo)簽:  
相關(guān)文章
模板推薦