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. npm安装less和less-loadernpm或者stylus和stylus-loader

    vue-cli 构建的项目默认是不支持 less 的,需要自己添加. 首选,安装 less 和 less-loader ,在项目目录下运行如下命令 npm install less less-load ...

  2. Shell的类型

    1.类Unix系统中有各种shell.如: /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh 2.在/etc/shells文本文件中可以查看 ...

  3. docker报错:Failed to restart docker.service: Unit not found.

    前言:我之前安装好docker了,但是关机重启后,发现docker就没了 报错:Failed to restart docker.service: Unit not found.   解决方法: 1. ...

  4. Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Architecture Only)

    http://www.jianshu.com/p/09b445300d40 简介: armv7|armv7s|arm64都是ARM处理器的指令集 i386|x86_64 是Mac处理器的指令集 目前i ...

  5. String Formatting in C#

    原文地址 http://blog.stevex.net/string-formatting-in-csharp/ When I started working with the .NET framew ...

  6. 必须知道的Linux内核常识详解

    一.内核功能.内核发行版 1.到底什么是操作系统 (1)linux.windows.android.ucos就是操作系统: (2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程 ...

  7. fillder---断言,更改提交数据

    1.before requests:请求的发送前拦截,此时可以修改提交的表单.cookies.header头数据 在URL请求前,设置为before requests 2.after response ...

  8. vue v-cloak知识点

    1.使用 v-cloak 属性可以解决插值表达式闪烁问题;     2.v-text默认是没有闪烁的问题,同时会覆盖元素中原本的内容,但是v-cloak只会替换 自己的这个占位符,不会替换所有的字符 ...

  9. XOR UVALive - 8512 -区间线性基合并

    UVALive - 8512 题意 :给出一个包含n个元素的数组A以及一个k,接下来进行q次询问,每次询问给出 l 和 r , 要你求出从A[l] , A[l+1] , A[l + 2],...,A[ ...

  10. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Khamovniki

    A. Ability Draft 记忆化搜索. #include<stdio.h> #include<iostream> #include<string.h> #i ...