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(“请选择上传的文件”);  }  } } ?>                         
全部评论

相关推荐

02-15 22:29
门头沟学院 Java
点赞 评论 收藏
分享
神哥了不得:放平心态,再找找看吧,主要现在计算机也变卷了,然后就比较看学历了,之前高中毕业你技术强,都能找到工作的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务