TP3.2.3 Excel导出

使用说明:

1,\应用程序\主页\控制器\ InoutController.class.php,此文件放到控制器文件夹下,如改过入口文件,则放到相应位置,里面的导入文件夹根据自己需要更改,如不想删除导入成功的文件,把unli nk($ file_name);这句删除
。2,\ Application \ Home \ View \ Inout \ index.php此文件是模板文件,因为我设的模板后缀名是PHP,所以看下里面的导入导出代码参考即可。
3,\ ThinkPHP \库\卖方\ PHPExcel PHPExcel这个文件夹整个放到这里,看压缩包的放置位置吧。


Index.php文件:

< 延伸名称= “公共/ adminbase” /> 
< 名= “标题” >导入导出通讯录- {$ webset.webname} </  > 
< 名= “字幕” >通讯录操作</ 方框 > 
< 名= “rcontent” > 
    < P > < 一个HREF = “{:U( 'INOUT / expUser')}” >导出数据并生成练成</  > </ P > < BR /> 
        <form action = “{:U('Inout / impUser')}”method = “post” enctype = “multipart / form-data” > 
            < input type = “file” name = “import” /> 
         < input type = “hidden” name = “table” value = “tablename” /> 
            < input type = “submit” value = “导入” /> 
        </ form > 
</ block >

InoutController.class.php文件:

<?php
 namespace Home \ Controller;
使用 Think \ Controller;
 InoutController 延伸控制器{
 公共函数 _initialize(){
 //如果(会话( '用户类型')!= 0){
         //这- $>错误( '此操作需要管理员权限!',U('索引/登录“),2);
        //}
 $ webset = M('Webconfig') - > find();
$ this - > assign('webset'$ webset );
$ usertype = session('usertype');
开关$ usertype ){
 case 0                                                                          'userid')== 1 ){
 $ usertpname = '超级管理员' ;
                } else {
 $ usertpname = '管理员' ;
                }
 break ;
案例 1 $ usertpname = '访问员' ;
休息 ;
        }
 $ this - > assign('usertypename'$ usertpname );
     }
 public function index(){
 $ this - > assign('current'1 );
$ this - > display();
                                                                                                                                    }
 public function exportExcel($ expTitle $ expCellName $ expTableData ){
 $ xlsTitle = iconv'utf-8''gb2312'$ expTitle ); //文件名称
 $ fileName = $ expTitle 日期'_YmdHis'); //或$ xlsTitle文件名称可根据自己情况设定
 $ cellNum = count$ expCellName );
$ dataNum = count$ expTableData );
        供应商(“PHPExcel.PHPExcel”                                    
);
$ objPHPExcel = new \ PHPExcel();
$单元名= 阵列'A' 'B' 'C' 'd' 'E' 'F' 'G' 'H' 'I' 'J' 'K' ' LMNOPQRST,            
                XYZAAABACADAEAFAGAHAIAJ ''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 '导出时间:'日期'YMD H:I:S' ));
for$ i = 0 ; $ i < $ cellNum ; $ i ++){
 $ objPHPExcel - >
                                    0 ) - > setCellValue($ cellName [ $ i ]。'2'$ expCellName [ $ i ] [ 1 ]);
        }
 //杂字形,UTF-8
 $ I = 0 ; $ I < $ dataNum ; $ I ++){
 对于= 0 ; < $ cellNum ; ++){
 $ 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“');
标题“Content-Disposition:attachment; filename = $ fileName .xls”); //附件新窗口打印内联本窗口打印
 $ objWriter = \ PHPExcel_IOFactory :: createWriter$ objPHPExcel 
                                'Excel5');
$ objWriter - > save('php:// output');
退出 ;
    }
 / **
      *
      *导出Excel
      * /
 function expUser(){ //导出Excel
 if(session('userid')!= 1 ){
 $ this - > error('此操作需要超级管理员权限!',U ('Index / contacts'),2 );
        }
 $ xlsName   = “联系人” ;
$ xlsCell   = arrayarray'id''账号序列'                
                                                            array'name''姓名'),
 array'tname''所属乡镇'),
 array' danwei ''单位'),
 array'phone''电话'        );
$ xlsModel = M('Contacts');
$ xlsData   = $ xlsModel - > Field('id,tid,name,danwei,phone') - > select();
foreach$ xlsData as $ k =>)                                                            ] [ 'tname' ] = Gettname($ v [ 'tid' ]);
array_splice$ xlsData [ $ k ] [ 'tid' ]);
        }
 $ this - > exportExcel($ xlsName $ xlsCell $ xlsData );
    ();
 / **
      *
      *显示导入页面...
      * /
     / **实现导入excel
      ** /
 function impUser(){
 if(!empty$ _FILES )){
 $ upload = new \ Think \ Upload(); //实例化上传类
                                
    
                                    $ filepath = './Public/Excle/' ; 
$ upload - > exts = array'xlsx''xls'); //设置附件上传类型
 $ upload - > rootPath   =   $ filepath ; //设置附件上传根目录
 $ upload - > saveName   =      'time' ;
$ upload - > autoSub    =      false ;
如果(!$ info = $ upload - > upload()){
 $ this - > error($ upload - > getError());
            }
                                                                                        foreach$ info as $ key => $ value ){
 unset$ info );
$ info [ 0 ] = $ value ;
$ info [ 0 ] [ 'savepath' ] = $ filepath ;
            }
             供应商(“PHPExcel.PHPExcel”);
$ file_name = $ info [ 0 ] [ 'savepath' ]。$ info [ 0 ] [ 'savename' ];
$ objReader = \ PHPExcel_IOFactory ::                                                                        createReader'Excel5');
$ objPHPExcel = $ objReader - > load($ file_name $ encode = 'utf-8');
$ sheet = $ objPHPExcel - > getSheet(0 );
$ highestRow = $ sheet - > getHighestRow(); //取得总行数
 $ highestColumn = $ sheet - > getHighestColumn(); //取得总列数
 $ j = 0 ;
for$ i = 3 ; $ i <= $ highestRow ; $ i ++)
                                                                                    {
 $ data [ 'name' ] = $ objPHPExcel - > getActiveSheet() - > getCell(“B”$ i ) - > getValue();
$ tname = $ objPHPExcel - > getActiveSheet() - > getCell(“C”$ i ) - > getValue();
$ data [ 'tid' ] = Gettid($ tname );
$ data [ ' danwei ' ] = $ objPHPExcel - > getActiveSheet() - > getCell(“D”$ i ) - > getValue();
$ data [ 'phone'                                                                                “E”$ i ) - > getValue();
// if(M('Contacts') - > where(“name ='”。$ data ['name']。''and phone = $ data ['phone']“) - > find()){
 if(M('Contacts') - > where(“phone ='”$ data [ 'phone' ]。“'”) - > find()){
 //如果存在相同联系人。判断条件:电话两项一致,上面注释的代码是用姓名/电话判断
 } else {
                     M('Contacts') - > add($ data );
$ j ++;
                }
             }
 unlink$ file_name );
                                                                                                    );
$ this - > success('导入成功!本次导入联系人数量:'$ j );
        } else
 {
 $ this - > error(“请选择上传的文件”);
        }
     }
 }
 ?>                                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值