美文网首页
thinkphp导入导出excel

thinkphp导入导出excel

作者: 洋洋灬校长 | 来源:发表于2017-09-29 15:33 被阅读0次

    1.导出excel表格

    第一步 引入PHPExcel 放到这个文件夹下

    D:\wamp\www\new\boss\ThinkPHP\Library\Org\Util

    第二步  在公共的控制器中写导出的方法,如果要是用import引入phpexcel ,必须用namespace,例如useOrg\Util\PHPExcel;  在声明phpExcel()类时,必须要加 \  ,例如$objPHPExcel=new\PHPExcel();在最后的PHPExcel_IOFactory前方也要加 \ ;

    public functionexportExcel($expTitle,$expCellName,$expTableData){

    $xlsTitle=iconv('utf-8','gb2312',$expTitle);//文件名称

    $fileName=$_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定

    $cellNum=count($expCellName);

    $dataNum=count($expTableData);

    import("Org.Util.PHPExcel");

    $objPHPExcel=new\PHPExcel();

    $cellName=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','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');

    $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格

    // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.'  Export time:'.date('Y-m-d H:i:s'));

    for($i=0;$i<$cellNum;$i++){

    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2',$expCellName[$i][1]);

    }

    // Miscellaneous glyphs, UTF-8

    for($i=0;$i<$dataNum;$i++){

    for($j=0;$j<$cellNum;$j++){

    $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3),$expTableData[$i][$expCellName[$j][0]]);

    }

    }

    header('pragma:public');

    header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');

    header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印

    $objWriter= \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');

    $objWriter->save('php://output');

    exit;

    }

    第三步:在相对应的控制器中写要导出的数据 并且调用公共方法exportExcel();

    functionexpUser(){//导出Excel

    $xlsName="User";

    $xlsCell=array(

    array('id','序号'),

    array('phone','手机号'),

    array('appTitle','应用名称'),

    array('appId','appid'),

    array('appSecret','应用秘钥'),

    array('packageName','应用包名'),

    array('type','审核状态'),

    array('isdel','是否删除'),

    array('channel','是否开通渠道号'),

    array('createTime','创建时间'),

    );

    $data= D("Sdkapp")->allData();

    foreach($dataas$k=>$v)

    {

    $data[$k]['type']=$v['type']==0?'通过':'未通过';

    $data[$k]['isdel']=$v['isdel']==1?'未删除':'已删除';

    $data[$k]['channel']=$v['channel']==2?'已开通':'未开通';

    $data[$k]['createTime']=date("Y-m-d H:i:s",$v['createTime']);

    }

    $this->exportExcel($xlsName,$xlsCell,$data);

    }

    最后 在页面中用a标签调用导出方法

    <ahref="/Home/sdkuser/expUser">导出a>

    相关文章

      网友评论

          本文标题:thinkphp导入导出excel

          本文链接:https://www.haomeiwen.com/subject/iamiextx.html