<?php
namespace Admin\Controller;
use Think\Controller;
class CommonMemberController extends AuthController {
public function _empty($action='index')
{
$CommonMember = M('CommonMember');
$filter['status'] = 0;
//搜索条件
$search = I('search', array());
$username = $search['username'];
$uid = $search['uid'];
$email = $search['email'];
// $old_PNO = $search['old_PNO'];
if($username && isset($username)){
$filter['username'] = array('like',"%{$username}%");
}
if($uid && isset($uid)){
$filter['uid'] = $uid;
}
if($email && isset($email)){
$filter['email'] = array('like',"%{$email}%");
}
//分页
$total = $CommonMember->where($filter)->count();
if($total){
$perNum = 30;
$Page = new \Think\Page($total,$perNum);
$Page->setConfig('prev', "上一页");//上一页
$Page->setConfig('next', '下一页');//下一页
$Page->setConfig('first', '首页');//第一页
$Page->setConfig('last', "末页");//最后一页
$Page -> setConfig ( 'theme', '%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%' );
$show = $Page->show();
$this->assign('total',$total);
$this->assign('page',$show);
}
$commonmember_list = $CommonMember->where($filter)->order('uid asc')->limit($Page->firstRow.','.$Page->listRows)->select();
//排序方法 desc/asc
if($action == 'export'){
if(!$commonmember_list){
$this->error('没有搜索结果,无法导出数据');
}
$this->commonmember_export($commonmember_list);
}
$this->assign('search', $search);
$this->assign('commonmember_list', $commonmember_list);
$this->display('commonmember_list');
}
public function del()
{
$uid = I('uid');
$result = M('CommonMember')-> delete($uid);
if($result){
$this->success('删除成功,正在转跳到列表');
}else if($result){
$this->erroe('删除失败');
}
}
//导出数据方法
protected function commonmember_export($commonmember_list)
{
$data = array();
foreach ($commonmember_list as $k=>$commonmember_info){
$data[$k][uid] = $commonmember_info['uid'];
$data[$k][username] = $commonmember_info['username'];
$data[$k][email] = $commonmember_info['email'];
/* $data[$k][sex] = $commonmember_info['sex'];
$data[$k][password] = $commonmember_info['password'];
$data[$k][email] = $commonmember_info['email'];
$data[$k][tel] = $commonmember_info['tel'];
$data[$k][qq] = $commonmember_info['qq'];
$data[$k][city] = $commonmember_info['city'];*/
$data[$k][status] = $commonmember_info['status'];
$this->$data;
}
//print_r($commonmember_list);
// print_r($data);exit;
foreach ($data as $field=>$v){
if($field == 'uid'){
$headArr[]='用户ID';
}
if($field == 'username'){
$headArr[]='用户名';
}
if($field == 'email'){
$headArr[]='邮箱';
}
/*if($field == ''){
$headArr[]='性别';
}
if($field == 'password'){
$headArr[]='密码';
}
if($field == 'email'){
$headArr[]='邮箱';
}
if($field == 'tel'){
$headArr[]='手机号';
}
if($field == 'qq'){
$headArr[]='qq';
}
if($field == 'city'){
$headArr[]='地区';
}*/
if($field == 'status'){
$headArr[]='状态';
}
}
$filename="";
$this->getExcel($filename,$headArr,$data);
}
private function getExcel($fileName,$headArr,$data){
//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Writer.Excel5");
import("Org.Util.PHPExcel.IOFactory.php");
$date = date("Y_m_d",time());
$fileName .= "_{$date}.xls";
//创建PHPExcel对象,注意,不能少了\
$objPHPExcel = new \PHPExcel();
$objProps = $objPHPExcel->getProperties();
//设置表头
$key = ord("A");
//print_r($headArr);exit;
foreach($headArr as $v){
$colum = chr($key);
$objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
$objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
$key += 1;
}
$column = 2;
$objActSheet = $objPHPExcel->getActiveSheet();
//print_r($data);exit;
foreach($data as $key => $rows){ //行写入
$span = ord("A");
foreach($rows as $keyName=>$value){// 列写入
$j = chr($span);
$objActSheet->setCellValue($j.$column, $value);
$span++;
}
$column++;
}
$fileName = iconv("utf-8", "gb2312", $fileName);
//重命名表
//$objPHPExcel->getActiveSheet()->setTitle('test');
//设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex(0);
ob_clean();
//ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=\"$fileName\"");
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //文件通过浏览器下载
exit;
}
} 最佳答案