dever 3 years ago
parent
commit
a0cdaa8399
2 changed files with 59 additions and 0 deletions
  1. 1 0
      database/data.php
  2. 58 0
      src/Data.php

+ 1 - 0
database/data.php

@@ -101,6 +101,7 @@ return array
         'button' => array
         (
             //'新增兑换码' => array('fast', 1, 'config&where_id=1'),
+            '导出采集数据' => '',
         ),
 	),
 

+ 58 - 0
src/Data.php

@@ -43,4 +43,62 @@ class Data
 			return $content;
 		}
 	}
+
+	# 导出对账单
+    public function excel()
+    {
+    	$where['pid'] = Dever::input('id');
+    	$data = Dever::db('spider/data')->select($where);
+		
+		if (!$data) {
+			return '';
+		}
+		$col = Dever::db('spider/col')->select($where);
+		$set = Dever::db('spider/set')->select($where);
+
+		$info = Dever::db('spider/project')->find($where['pid']);
+        $file = $info['name'] . '的采集数据';
+        $header = $body = array();
+
+        if ($col) {
+        	foreach ($col as $k => $v) {
+        		$header[] = $v['name'];
+        	}
+        }
+
+        if ($set) {
+        	foreach ($set as $k => $v) {
+        		$header[] = $v['name'];
+        	}
+        }
+
+        if ($data) {
+        	$i = 0;
+            foreach ($data as $k => $v) {
+
+            	if (!$v['value']) {
+            		continue;
+            	}
+            	$value = Dever::json_decode($v['value']);
+            	if (!$value) {
+            		continue;
+            	}
+                if ($col) {
+		        	foreach ($col as $k => $v) {
+		        		$body[$i][] = isset($value[$v['key']]) ? $value[$v['key']] : '';
+		        	}
+		        }
+
+		        if ($set) {
+		        	foreach ($set as $k => $v) {
+		        		$body[$i][] = isset($value[$v['key']]) ? $value[$v['key']] : '';
+		        	}
+		        }
+
+		        $i++;
+            }
+        }
+
+        Dever::excelExport($body, $header, $file);
+    }
 }