tp怎么实现excel的导入和导出
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"tp怎么实现excel的导入和导出"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:
千家信息网最后更新 2026年11月02日tp怎么实现excel的导入和导出
本篇内容介绍了"tp怎么实现excel的导入和导出"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一:下载phpExcel第三方类库
下载地址:http://www.thinkphp.cn/topic/14005.html下载官方网站;
二:下载成功之后将文件放到Vendor下:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php。
三:配置数据库的信息操作(我的是在home文件夹下(application/home/config/config.php)添加如下配置):
'配置值' 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'db_oa', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'tg_', // 数据库表前缀// 'DB_FIELDS_CACHE' => false, // 启用字段缓存(开发时这个要写成false))?>
四:模板代码:
实现功能的控制器方法:
1>导出数据方法的实现:
function expUser(){//导出Excel //获取表头名: $xlsName = "evaluate_check"; //获取文件里面具体的数据 $xlsCell = array('教师检查作业表', '所属功能','所属权限','所属学生','学生答案' );// 连接数据库找到查询的表 $xlsModel = M('evaluate_check');// 通过调用select方法field查找数据表里面的字段 $xlsData = $xlsModel->Field('id,tep_id,tet_id,student_id,student_anwser')->select(); $this->exportExcel($xlsName,$xlsCell,$xlsData); } public function exportExcel($expTitle,$expCellName,$expTableData){// 抓取文件名将字符编码转换成utf8格式 $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称// 命名Excel文件的文件名称,通过时间函数随即打乱 $fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定 //通过count函数获取到字段的行数 $cellNum = count($expCellName); //获取具体的值 $dataNum = count($expTableData);// var_dump(count($expTableData));exit; //引入具体的类库 vendor("PHPExcel.PHPExcel");// echo '111111dfgfhj';exit; //实例化方法,得到所有的方法; $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');// var_dump($cellName);exit;// var_dump($objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1'));exit; $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格// echo '1111111';exit;// var_dump($objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1'));exit;// $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]); } $objPHPExcel->getActiveSheet()->setTitle($expTitle); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1',$expTitle); // Miscellaneous glyphs, UTF-8// var_dump($dataNum);exit; //对获取的列好进行遍历赋值输出 for($i=0;$i<$dataNum;$i++){ for($j=0;$j<$cellNum;$j++){ $a = array_values($expTableData[$i]) ; $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3),$a[$j]); } } ob_end_clean();//清楚缓冲避免乱码 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本窗口打印 //通过调用如下方法来创建Excel将值写入 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //进行保存下载 $objWriter->save('php://output'); exit; }3>导入数据方法的实现:
(1)选取你要导入的xls文件,进行操作
(2)代码如下:
function impUser(){ //判断你的文件是否为空 if (!empty($_FILES)) {// 引入类库 vendor("PHPExcel.PHPExcel"); //获取存储文件的文件名 $file_name=$_FILES['import']['tmp_name']; //调用如下方法来读取你表里面的信息 $objReader = \PHPExcel_IOFactory::createReader('Excel5');// var_dump($objReader);exit; //读取到的临时文件名的信息 $objPHPExcel = $objReader->load($file_name,$encode='utf-8'); //获取Excel表格的列数 $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得总行数 $highestColumn = $sheet->getHighestColumn(); // 取得总列数// 将值进行写入 for($i=3;$i<=$highestRow;$i++) { $data['account']= $data['truename'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue(); $sex = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue(); // $data['res_id'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue(); $data['class'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue(); $data['year'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue(); $data['city']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue(); $data['company']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue(); $data['zhicheng']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue(); $data['zhiwu']= $objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue(); $data['jibie']= $objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue(); $data['honor']= $objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue(); $data['tel']= $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue(); $data['qq']= $objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue(); $data['email']= $objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue(); $data['remark']= $objPHPExcel->getActiveSheet()->getCell("P".$i)->getValue(); $data['sex']=$sex=='男'?1:0; $data['res_id'] =1; $data['last_login_time']=0; $data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR']; $data['login_count']=0; $data['join']=0; $data['avatar']=''; $data['password']=md5('123456'); //通过以下方法,将值添加到数据库中; M('Member')->add($data); } $this->success('导入成功!'); }else { $this->error("请选择上传的文件"); } }说明:最后的数据库信息以你具体的表信息为主,在M('表明')->add($data);
$data里面的数据也以你真实的表为基础
"tp怎么实现excel的导入和导出"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
文件
数据
方法
数据库
信息
名称
字段
所属
配置
成功
代码
内容
函数
功能
单元
地址
学生
情况
文件名
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海睿民互联网科技有限公司
北京互联网科技
互联网科技公司官网
世界互联网领先科技成果
华中科技大学互联网
奇酷互联网络科技公司
有木互联网科技
唐信互联网科技 大连
北京大学互联网科技怎么样
华服互联网科技官网
互联网还是高科技吗
上海宁丞科技互联网
内蒙古九一互联网科技
深圳市罗太互联网科技有限公司
元气玛特互联网科技公司是外包吗
互联网科技实习生岗位
工业互联网科技成果转化
互联网高科技行业有哪些企业
求路客互联网科技电话
每日互联网科技新闻
美国互联网保险保险科技
安徽鑫晟辉互联网科技
深圳艾佳互联网科技
互联网科技大奖都有哪些公司
互联网新科技动漫ppt素材
威龙国际互联网科技公司
互联网领先科技宣传片
新氧科技和美国互联网有关系吗
珠海东科互联网科技有限公司
众联互联网络科技