名站网址导航为大驾家提供DedeCMS站点程序站点教程相关的知识,比如织梦程序安装教程,织梦程序系统故障等教程。
对于一些企业站点来说,经常需要把站点上的数据导出到EXCEL来进行分析,这里就需要用到PhPEXCEL,可以方便导出站点MYSQL数据库网站内容到EXCEL总
phpexcel是外国人写专门处理从数据库到excel的功能库,下载地址:https://github.com/PhPOffice/PhPExcel
里面有很多的例子,包括excel,csv,word,pdf,htm等从数据库导出来的网站文件格式,可以参考一下例子。
笨牛网先把从织梦程序系统导出来的效果上个图给大驾家看看:
使用中遇到一个问题,就是以前的时间,在excel是正常显示的,但是,现在加上的时间则显示:1970-01-01 ,研究了很久,原来字段写错了。本来是pubdate,结果写成了sentdate
其它都是正常显示的
现在就介绍一下从织梦程序系统导出数据的相关具体操作方法:
1.从国外站点下载上面的phpexcel类库,解压后,放到根目录里面。
2.然后,写导出程序,这个可以参考这里面的例子写,请注意的是:若你的不行,程序可能会提示404错误,这个就是你的路径没有设置好,刚开始时,我也是这个原因一直弄不对,最后,才发现原来是路径错了。
这个导出程序主要做如下四步:
a. 从织梦程序中查询出数据
b.设置表格
c.把数据放入表格
c.输出数据到excel里面
里面的设置大多数都是具体调用phpexcel类里面的系统数据库函数,这里不多解释了,看我在网站文件dedebnxb.php写的相关具体代码如下:
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 笨牛网 $objPhPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'id') ->setCellValue('B1', '文章标题') ->setCellValue('C1', '排序') ->setCellValue('D1', '出版时间') ->setCellValue('E1', '关键词') ->setCellValue('F1', '简介') ->setCellValue('G1', '发布时间') ->setCellValue('h1', '会员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; } |
特别特别注意:在这个最上面一行要写上你的从站点上下载下来的phpexcel类的路径,也就是把这个类引入到这个网站文件里面,只有引入到里面才能具体调用。
最后,在你的模板里面把下面这二行中的任意一行写在模板里即可:
<input name="ss12" value="导出全部订单" 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>
我这里放二行是因为,有的站长可能只需要一个超链接,有的可能需要一个input,二个任选一个即可。
关于DedeCMS站点程序站点教程相关的知识,就说到这里了希望能帮助朋友们。织梦程序DEDECMS修改下载地址{dede:field name='softlinks'/}格式