public function uploadExcel(){
if (!empty($_FILES)){
$upload = new \Think\Upload(); // 实例化上传类
$upload->maxSize = 10485760000 ; // 设置附件上传大小
$upload->exts = array('xls','xlsx'); // 设置附件上传类型
$upload->rootPath = './Public/excel/'; // 设置附件上传根目录
$upload->autoSub = false; // 将自动生成以photo后面加时间的形式文件夹,关闭
// 上传文件
$info = $upload->upload(); // 上传文件
$exts = $info['file']['ext']; // 获取文件后缀
$filename = $upload->rootPath.$info['file']['savename']; // 生成文件路径名
if(!$info) { // 上传错误提示错误信息
$this->error($upload->getError());
}else{ // 上传成功
import("Org.Util.PHPExcel"); // 导入PHPExcel类库,因为PHPExcel没有用命名空间,只能import导入
$PHPExcel = new \PHPExcel(); // 创建PHPExcel对象,注意,不能少了\
if ($exts == 'xls') { // 如果excel文件后缀名为.xls,导入这个类
import("Org.Util.PHPExcel.Reader.Excel5");
$PHPReader = new \PHPExcel_Reader_Excel5();
} else if ($exts == 'xlsx') {
import("Org.Util.PHPExcel.Reader.Excel2007");
$PHPReader = new \PHPExcel_Reader_Excel2007(); }
// var_dump($filename);exit;
$PHPExcel=$PHPReader->load($filename);
$currentSheet = $PHPExcel->getSheet(0); // 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$allRow = $currentSheet->getHighestRow(); // 获取总行数
// echo $allRow;exit;
$data=array(); for ($i = 2; $i <= $allRow; $i++) {
$data['province'] =$PHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();
$data['city'] =$PHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
$data['vocation'] =$PHPExcel->getActiveSheet()->getCell("C" .$i)->getValue();
$data['age'] = $PHPExcel->getActiveSheet()->getCell("D". $i)->getValue();
$data['sex'] =$PHPExcel->getActiveSheet()->getCell("E" .$i)->getValue();
$data['company'] =$PHPExcel->getActiveSheet()->getCell("F" . $i)->getValue();
$data['phone'] =(string)$PHPExcel->getActiveSheet()->getCell("G" . $i)->getValue();
$data['other'] =$PHPExcel->getActiveSheet()->getCell("H" . $i)->getValue();
$ex=M('phone')->add($data);
}
// var_dump($data_p);exit;
if($ex){
$this->success("导入成功",U('Phone/index'));
}else{
$this->error("导入失败,原因可能是excel表中格式错误",U('Phone/add'),"5");// 提示错误
}
}
}else {
$this->display('Phone/add');
}
}
---------------------
作者:limingyue0312
来源:CSDN
原文:https://blog.csdn.net/limingyue0312/article/details/81240017

ThinkPhp3.2.3 使用phpExcel导入数据的更多相关文章

  1. ThinkPHP第二十三天(Category表结构、PHPExcel导入数据函数)

    1.category分类表表结构id,name,pid,sort,结合category.class.php类使用. 2.PHPExcel导入数据函数示例 function excel_to_mysql ...

  2. phpexcel导入数据提示失败

    phpexcel导入excel时明明只有几行数据,却提示506行失败,原来是excel中有506行"无效数据"(看起来是空的,但是和没有数据不一样).

  3. thinkphp中使用PHPEXCEL导入数据

    导入方法比较简单 但必须考虑到Excel本身单元格格式问题 例如以0开头的字符串读出来被去掉了前导0 成为float型而丢失一位 必须进行处理 <?php /** * Author lizhao ...

  4. phpexcel导入数据出现PHPExcel_RichText Object解决办法

    在导入excel的时候会出现异常情况,有的问题出现PHPExcel_RichText object,错误代码如下 PHPExcel_RichText Object ( [_richTextElemen ...

  5. 使用PHPEXCEL导入数据到数据库

    导出功能参考:http://www.cnblogs.com/zhouqi666/p/5978017.html 比较严重的问题:当遇到excel数据量比较大的时候,会发生内存溢出的情况,目前无法解决 e ...

  6. phpexcel导入数据部分数据有误

    数据在excel中是这样的: 插入数据库后是这样的: 很难发现,出错的那几条数据中的单元格中都有英文','符号,而phpexcel又是以','来拼接读取到的数据的. 解决办法:修改代码中的','为不常 ...

  7. PHPexcel导入数据的时候出现object解决方法

    打印其他数据都是正常的,就这个是一个对象 从表格里面看不出问题 后面找到原因是表格里那个名字  李珊珊  周围有空白字符,去掉之后就能正常导入,         解决方法:   找到导入文件的那个方法 ...

  8. phpexcel导入数据库 基于thinkphp3.2

    public function studentImportExcel(){ if (!empty ( $_FILES)){ $upload = new \Think\Upload();        ...

  9. ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据

    前端HTML+JQuery  备注Jquery需要1.x版本,不能用2.x版本 1.引入必要文件及上传input <load file="__PUBLIC__/js/jquery-1. ...

随机推荐

  1. android开源框架讲解 一 butterknif

    2019年3月16日 12:49:38 一 直接进入主题 如何配置ButterKnif 我用的是AS3.1.2 应该跟版本关系不大 1.1 下载安装Android ButterKnif Zelezny ...

  2. img标签里的value获取

    简单描述:在img标签里的value存放了需要用到的值,但是在js中获取的时候,我直接写的就是$("#imgStr").val(),结果发现是空,后来查了一下,才知道,img的va ...

  3. socket.io中 connect与connection的区别

    参考网址:https://blog.csdn.net/sinat_18474835/article/details/80115961

  4. win10安装mysql5.7.20解压版

    mysql安装包可到官网下载,地址:https://dev.mysql.com/downloads/mysql 1.首先解压文件包,我这解压到E:\install_work\mysql目录下: 2.发 ...

  5. IT行业中文资源网址集绵

    1. IT网址:https://github.com/ityouknow/awesome-list 2.后端架构师网址:https://github.com/xingshaocheng/archite ...

  6. Sprite组件和Button组件的使用

    一.Sprint组件的使用 1.游戏中显示一张图片,通常我们称之为"精灵" sprite 2.cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个 ...

  7. bzoj1040基环树

    ... st#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> ...

  8. 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题

    一:软件工具使用中遇到的问题 1:AttributeError: module 'pip' has no attribute 'main'问题 处理方法: a:找到JetBrains\PyCharm ...

  9. SpringBoot Mybatis项目中的多数据源支持

    1.概述 有时项目里里需要抽取不同系统中的数据源,需要访问不同的数据库,本文介绍在Springboot+Mybatis项目中如何支持多数据源操作. 有需要的同学可以下载 示例代码 项目结构如下: 2. ...

  10. 安装 Tensorflow

    环境:Ubuntu 16.04  64bit 1.    安装Anaconda Anaconda 是 Python 的一个科学计算发行版,内置了数百个Python经常会使用的库,也包括了许多机器学习和 ...