Jelajahi Sumber

按分组导出短信客户

shenzhipeng 3 tahun lalu
induk
melakukan
a6f36c40f3

+ 105 - 0
application/module/ctrl/Sms_customer_list_adminAction.class.php

@@ -406,7 +406,112 @@ class Sms_customer_list_adminAction extends Action{
 		exit();
 	}
 
+	public function export(){
+		$admin = new AdvertAdminAction();
+		$uid   = $_SESSION['user_infos']['id'];
+
+		$group_name = $_REQUEST['group_name'];
+
+		$where = " where uid='$uid' ";
+
+		if(!empty($group_name)){
+			$where.=" and group_name='$group_name'";
+		}
+		$where.=" and is_block=1";
+		$list = $admin->selesctSmsCustomer($where);
+
+		$d = date('Y-m-d',time());
+		$this->generateEXCEL($d."导出客户数据",$list);
+
+	}
+
+	function generateEXCEL($filename = 'report',$data = ''){
+
+		//引入PHPExcel相关文件
+		require_once( ONU_ROOT . 'phpexcel/PHPExcel.php');
+		require_once( ONU_ROOT . 'phpexcel/PHPExcel/IOFactory.php');
+		require_once( ONU_ROOT . 'phpexcel/PHPExcel/Writer/Excel5.php');
+
+		//新建
+		$resultPHPExcel = new PHPExcel();
+		//设置参数
+
+		//设值
+		$resultPHPExcel->getActiveSheet()->setCellValue('A1', 'Name');
+		$resultPHPExcel->getActiveSheet()->setCellValue('B1', 'Tel');
+		$resultPHPExcel->getActiveSheet()->setCellValue('C1', 'Country');
+		$resultPHPExcel->getActiveSheet()->setCellValue('D1', 'Group');
+
+		//设置水平居中
+		$resultPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+
+		//设置水平居中
+		$resultPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+		$resultPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+
+
+		$i = 2;
+		foreach($data as $item){
+			$resultPHPExcel->getActiveSheet()->setCellValue('A' . $i, $item['uname']);
+			$resultPHPExcel->getActiveSheet()->setCellValue('B' . $i, $item['tel']);
+			$resultPHPExcel->getActiveSheet()->setCellValue('C' . $i, $item['country']);
+			$resultPHPExcel->getActiveSheet()->setCellValue('D' . $i, $item['group_name']);
+
+			//设置单元格宽度
+			$resultPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(40);
+			$resultPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);
+			$resultPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
+			$resultPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30);
+
+			//设置水平居中
+			$resultPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+			$resultPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+			$resultPHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+			$resultPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+
+			//设置行高度
+			$resultPHPExcel->getActiveSheet()->getRowDimension("1")->setRowHeight(20);
+			$resultPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(20);
+
+			$i ++;
+		}
+
+		//设置导出文件名
+		$xlsWriter = new PHPExcel_Writer_Excel5($resultPHPExcel);
+
+		ob_end_clean();//清除缓冲区,避免乱码
+
+		//ob_start(); ob_flush();
+		header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
+
+		header("Content-Type: application/force-download");
+
+		header("Content-Type: application/octet-stream");
+
+		header("Content-Type: application/download");
+
+		//header('Content-Disposition:inline;filename="'.$outputFileName.'"');
+		header('Content-Disposition:attachment;filename='.'"'.$filename.'.xls"'); //可以对文件名进行处理
 
+		header("Content-Transfer-Encoding: binary");
+
+		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+
+		header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+
+		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+
+		header("Pragma: no-cache");
+
+		$xlsWriter->save('php://output');
+
+		exit;
+	}
 	
 
 	//导入Excel文件

+ 8 - 1
application/module/view/sms_customer_list_admin/index.html

@@ -41,7 +41,14 @@
 						<input type="submit" class="btn btn-info" value="查询" style="clear:both;height: 30px; width: 600px; "/>
 					</div>
 				</form>
-				<br/><br/>
+				<br/>
+				<form method="post" action="/?a=sms_customer_list_admin&m=export" target="_blank">
+					<div style="text-align:right;">
+						<input type="hidden"  name="group_name" value="<{$group_name}>" />
+						<input type="submit" class="btn btn-primary" value="导出数据"  style="width:200px;"/>
+					</div>
+				</form>
+				<br/>
 				<form method="post" id="batch_user_group" action="/?a=sms_customer_list_admin&m=import" enctype="multipart/form-data"  >
 					<input type="hidden"  name="to_import_user" value="yes" />
 					<input type="file" name="inputExcel" style="width:175px;"><span style="color:red;">(excel是.xls格式的)</span>