亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > 織夢DEDE > 正文

DedeCMS織夢自定義表單導出Excel文檔

2024-07-12 09:08:21
字體:
來源:轉載
供稿:網友

DedeCMS自定義表單功能一般,但也滿足了大多數人的需求。需要查看表單需要登錄后臺,如果用戶提交的訂單并發送到郵箱也不能全部統一導出,在月度或季度的時候,就比較麻煩。

前面做過一個關于學校報名網站的二次開發,需要用到這個功能,分享一個DedeCMS自定義表單導出功能的教程,比較簡單,只需要修改兩個文件,不需要下載第三方SDK(PHPExcel)開發包,感興趣的可以自己下載,本帖后有說明。

DedeCMS表單生成Excel推薦方法

1、打開/dede/templets/diy_main.htm 找到

前臺預覽</a>

        后面增加

| <a href="diy_list.php?action=push&diyid={dede:field.diyid/}" target="_blank">導出Excel</a>

2、打開/dede/diy_list.php 找到

array('post', 'list', 'edit', 'check', 'delete'))

        在 'delete' 后面增加 ,'push',如下

array('post', 'list', 'edit', 'check', 'delete','push'))

        在最下面找到

else{    showmsg('未定義操作', "-1");}

        在這段之前增加代碼

else if($action == 'push'){	header("Content-type:application/vnd.ms-excel");	header("Content-Disposition:attachment;filename={$diy->name}_".date("Y-m-d").".xls");//表格命名方式	$fieldlist = $diy->getFieldList();	echo "<table><tr>";	foreach($fieldlist as $field=>$fielddata)	{		echo "<th>{$fielddata[0]}</th>";	}	echo "<th>狀態</th>";	echo "</tr>";	$sql = "SELECT * FROM {$diy->table} ORDER BY id DESC";	$dsql->SetQuery($sql);	$dsql->Execute('t');	while($arr = $dsql->GetArray('t'))	{		echo "<tr>";		foreach($fieldlist as $key => $field)		{			echo "<td>".$arr[$key]."</td>";		}		$status = $arr['ifcheck'] == 1 ? '已審核' : '未審核';		echo "<td>".$status."</td>";		echo "</tr>";	}	echo "</table>";}

        導出來的文件不帶格式,可以根據自己的需要添加、修改。

DedeCMS第三方SDK生成并導出Excel

1.下載PHPExcel的SDK,下載地址:https://github.com/PHPOffice/PHPExcel。

2.將SDK解壓之后的Class文件拷貝到自己的項目,如本例的放在根目錄下。

        打開/dede/templets/diy_main.htm 找到

前臺預覽</a>

        后面增加

| <a href="diy_list.php?action=push&diyid={dede:field.diyid/}" target="_blank">導出Excel</a>

        打開/dede/diy_list.php 增加如下代碼。

else if($action == 'push'){...}

        上面省略號(...)的內容如下,代碼比較多,分別進行說明

/* * *Excel文件讀取 *  */function excelToArray(){  require_once dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php';  //項目路徑//加載excel文件  $filename = dirname(__FILE__).'/result.xlsx'; //根目錄 $objPHPExcelReader = PHPExcel_IOFactory::load($filename);    $sheet = $objPHPExcelReader->getSheet(0);        // 讀取第一個工作表(編號從 0 開始)  $highestRow = $sheet->getHighestRow();           // 取得總行數  $highestColumn = $sheet->getHighestColumn();     // 取得總列數  $arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  // 一次讀取一列  $res_arr = array();  for ($row = 2; $row <= $highestRow; $row++) {  $row_arr = array();  for ($column = 0; $arr[$column] != 'F'; $column++) {  $val = $sheet->getCellByColumnAndRow($column, $row)->getValue();  $row_arr[] = $val;  }  $res_arr[] = $row_arr;  }  return $res_arr;  }  /* * 創建(導出)Excel數據表格  * @param  array   $list        要導出的數組格式的數據  * @param  string  $filename    導出的Excel表格數據表的文件名  * @param  array   $indexKey    $list數組中與Excel表格表頭$header中每個項目對應的字段的名字(key值)  * @param  array   $startRow    第一條數據在Excel表格中起始行  * @param  [bool]  $excel2007   是否生成Excel2007(.xlsx)以上兼容的數據表  * 比如: $indexKey與$list數組對應關系如下:  *     $indexKey = array('id','username','sex','age');  *     $list = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24));  */  function exportExcel($list,$filename,$indexKey,$startRow=1,$excel2007=false){  //文件引入  require_once APP_ROOT.'/Classes/PHPExcel.php';  require_once APP_ROOT.'/Classes/PHPExcel/Writer/Excel2007.php';  if(empty($filename)) $filename = time();  if( !is_array($indexKey)) return false;  $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  //初始化PHPExcel()  $objPHPExcel = new PHPExcel();  //設置保存版本格式  if($excel2007){  $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);  $filename = $filename.'.xlsx';  }else{$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);  $filename = $filename.'.xls';  }  //接下來就是寫數據到表格里面去  $objActSheet = $objPHPExcel->getActiveSheet();  //$startRow = 1;  foreach ($list as $row) {  foreach ($indexKey as $key => $value){  //這里是設置單元格的內容  $objActSheet->setCellValue($header_arr[$key].$startRow,$row[$value]);  }  $startRow++;  }  // 下載這個表格,在瀏覽器輸出  header("Pragma: public");  header("Expires: 0");  header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  header("Content-Type:application/force-download");  header("Content-Type:application/vnd.ms-execl");  header("Content-Type:application/octet-stream");  header("Content-Type:application/download");;  header('Content-Disposition:attachment;filename='.$filename.'');  header("Content-Transfer-Encoding:binary");  $objWriter->save('php://output');  }  /* *導出文件,還可以設置模板 * */function exportExcel($list,$filename,$indexKey=array()){  require_once dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php';  require_once dirname(__FILE__) . '/Classes/PHPExcel.php';  require_once dirname(__FILE__) . '/Classes/PHPExcel/Writer/Excel2007.php';  $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  //$objPHPExcel = new PHPExcel();                        //初始化PHPExcel(),不使用模板  $template = dirname(__FILE__).'/template.xls';          //使用模板  $objPHPExcel = PHPExcel_IOFactory::load($template);     //加載excel文件,設置模板  $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);  //設置保存版本格式  //接下來就是寫數據到表格里面去  $objActSheet = $objPHPExcel->getActiveSheet();  $objActSheet->setCellValue('A2',  "活動名稱:江南極客");  $objActSheet->setCellValue('C2',  "導出時間:".date('Y-m-d H:i:s'));  $i = 4;  foreach ($list as $row) {  foreach ($indexKey as $key => $value){  //這里是設置單元格的內容  $objActSheet->setCellValue($header_arr[$key].$i,$row[$value]);  }  $i++;  }  // 1.保存至本地Excel表格  //$objWriter->save($filename.'.xls');  // 2.接下來當然是下載這個表格了,在瀏覽器輸出就好了  header("Pragma: public");  header("Expires: 0");  header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  header("Content-Type:application/force-download");  header("Content-Type:application/vnd.ms-execl");  header("Content-Type:application/octet-stream");  header("Content-Type:application/download");;  header('Content-Disposition:attachment;filename="'.$filename.'.xls"');  header("Content-Transfer-Encoding:binary");  $objWriter->save('php://output');  }  
/* *導出文件,還可以設置模板 * */function exportExcel($list,$filename,$indexKey=array()){  require_once dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php';  require_once dirname(__FILE__) . '/Classes/PHPExcel.php';  require_once dirname(__FILE__) . '/Classes/PHPExcel/Writer/Excel2007.php';  $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  //$objPHPExcel = new PHPExcel();                        //初始化PHPExcel(),不使用模板  $template = dirname(__FILE__).'/template.xls';          //使用模板  $objPHPExcel = PHPExcel_IOFactory::load($template);     //加載excel文件,設置模板  $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);  //設置保存版本格式  //接下來就是寫數據到表格里面去  $objActSheet = $objPHPExcel->getActiveSheet();  $objActSheet->setCellValue('A2',  "活動名稱:江南極客");  $objActSheet->setCellValue('C2',  "導出時間:".date('Y-m-d H:i:s'));  $i = 4;  foreach ($list as $row) {  foreach ($indexKey as $key => $value){  //這里是設置單元格的內容  $objActSheet->setCellValue($header_arr[$key].$i,$row[$value]);  }  $i++;  }  // 1.保存至本地Excel表格  //$objWriter->save($filename.'.xls');  // 2.接下來當然是下載這個表格了,在瀏覽器輸出就好了  header("Pragma: public");  header("Expires: 0");  header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  header("Content-Type:application/force-download");  header("Content-Type:application/vnd.ms-execl");  header("Content-Type:application/octet-stream");  header("Content-Type:application/download");;  header('Content-Disposition:attachment;filename="'.$filename.'.xls"');  header("Content-Transfer-Encoding:binary");  $objWriter->save('php://output');  }  

設置一個excel模板

使用該模板導出數據

除此之外還可以對表格屬性做很多自定義。感興趣的自己看看吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美一区二区三区四区| 亚洲性69xxxbbb| 亚洲欧洲国产伦综合| 97国产成人精品视频| 日韩av在线免费观看一区| 成人av番号网| 亚洲精品乱码久久久久久金桔影视| 亚洲精品久久久久中文字幕欢迎你| …久久精品99久久香蕉国产| 久久久久久久久电影| 久久天天躁狠狠躁夜夜躁| 亚洲美女性生活视频| 亚洲国产精品中文| 亚洲成av人影院在线观看| 国产精品一区二区电影| 国产日韩在线观看av| 精品国偷自产在线| 国产mv免费观看入口亚洲| 美女性感视频久久久| 国产精选久久久久久| 国语自产精品视频在线看抢先版图片| 亚洲91精品在线观看| 欧美成人高清视频| 国产精品aaaa| 国产精品极品美女粉嫩高清在线| 亚洲香蕉伊综合在人在线视看| 亚洲国产精品网站| 欧美乱大交做爰xxxⅹ性3| 欧美wwwwww| 97视频在线观看网址| 狠狠躁夜夜躁人人爽天天天天97| 亚洲国产欧美一区二区丝袜黑人| 日本精品va在线观看| 91精品国产综合久久久久久久久| 欧美亚洲午夜视频在线观看| 欧美大片欧美激情性色a∨久久| 色婷婷综合成人av| 久久久久久亚洲精品不卡| 国产成人小视频在线观看| 亚洲综合中文字幕在线观看| 日韩大片免费观看视频播放| 在线丨暗呦小u女国产精品| 欧美xxxx做受欧美.88| 亚洲天堂网站在线观看视频| 亚洲视频在线观看免费| 亚洲欧美精品中文字幕在线| 日韩专区在线观看| 亚洲国产精久久久久久久| 国产精品女主播视频| 亚洲欧美制服丝袜| 亚洲女人天堂视频| 日本一区二区三区四区视频| 亚洲美女av电影| 海角国产乱辈乱精品视频| 欧美午夜视频在线观看| 日韩在线视频导航| 91国语精品自产拍在线观看性色| 国产成人一区二区在线| 57pao成人永久免费视频| 欧美天堂在线观看| 日韩一区av在线| 中文字幕日韩欧美在线| 精品成人av一区| 国产一区二区三区在线观看视频| 国产精品久久久久久久久久ktv| 国产一区玩具在线观看| 成人在线观看视频网站| 欧美激情免费看| 亚洲黄色片网站| 国产精品网站大全| 91久久久久久久久久久久久| 日韩免费在线观看视频| 亚洲综合在线中文字幕| 日韩欧美成人精品| 色樱桃影院亚洲精品影院| 高清一区二区三区日本久| 精品亚洲夜色av98在线观看| 另类少妇人与禽zozz0性伦| 色综合天天综合网国产成人网| 91久久精品美女| 亚洲综合中文字幕在线| 成人免费看片视频| 欧美激情视频一区二区| 国产精品免费视频xxxx| 久久综合免费视频| 欧美国产精品va在线观看| 亚洲欧美中文另类| 国产精品黄页免费高清在线观看| 亚洲国产精品资源| 国产日韩精品在线| 国产成人久久精品| 国产精品日韩欧美大师| 中文字幕综合在线| 亚洲人成绝费网站色www| 亚洲电影免费观看高清完整版在线观看| 高跟丝袜一区二区三区| 91精品久久久久久久久| 国模视频一区二区| 欧美成人中文字幕在线| 国产成人激情小视频| 亚洲第一区中文99精品| 久久久久久91| 亚洲精品网站在线播放gif| 一区二区三区四区在线观看视频| 奇门遁甲1982国语版免费观看高清| 国产精品一区专区欧美日韩| 亚洲国产成人爱av在线播放| 中文字幕亚洲欧美日韩2019| 亚洲国产精品va在线| 国产91精品久久久久| 亚洲人成网站777色婷婷| 亚洲国产精品成人精品| 欧美成人精品影院| 欧美特级www| 免费91麻豆精品国产自产在线观看| 日韩欧美中文免费| 久久精品亚洲一区| 久久五月天综合| 亚洲国产欧美自拍| 日韩一二三在线视频播| 91在线中文字幕| 少妇精69xxtheporn| 欧美激情日韩图片| 亚洲国产成人一区| www高清在线视频日韩欧美| 久久久av免费| 91精品国产高清久久久久久91| 午夜精品理论片| 成人综合国产精品| 免费成人高清视频| 欧美大全免费观看电视剧大泉洋| 俺去了亚洲欧美日韩| 欧美精品在线视频观看| 亚洲欧美三级伦理| 精品视频—区二区三区免费| 成人午夜激情免费视频| 欧美在线性爱视频| 亚洲欧美一区二区三区情侣bbw| 91国内精品久久| www.欧美视频| 欧美日韩一区二区免费在线观看| 中文字幕日韩欧美在线视频| 日韩午夜在线视频| 狠狠躁夜夜躁久久躁别揉| 精品国产自在精品国产浪潮| 久久久久久久久久国产精品| 欧美性猛交xxxx黑人| 久久久成人精品| 亚洲欧美日韩精品久久| 亚洲天堂2020| 国产精品盗摄久久久| 97人人做人人爱| 欧美色xxxx| 91视频免费网站| 成年人精品视频| 国产精品白丝jk喷水视频一区| 伊人久久大香线蕉av一区二区| 日本久久久久久久久| 精品久久久久久久久久久久久| 亚洲精品日韩在线| 精品成人av一区| 亚洲最新av在线网站| 久久99久久亚洲国产| 美女撒尿一区二区三区|