execl 导入
/**
     * 导入Excel功能   是把execl表中的数据添加到数据表中
     */
    public function import(){
        if (!empty($_FILES)) {
            $file = request()->file('import');
            $info = $file->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'suffix');//移动到public/suffix下
if($info){
                $file_name = './public/suffix/'.$info->getFilename();
            }else{
                // 上传失败获取错误信息
                echo $file->getError();
            }
Vendor('PHPExcel.PHPExcel');
            Vendor('PHPExcel.PHPExcel.Worksheet.Drawing');
            Vendor('PHPExcel.PHPExcel.Writer.Excel2007');
            // 读取Excel文件内容
            $PHPReader = new \PHPExcel_Reader_Excel2007();
            $PHPExcel = $PHPReader->load($file_name);
            $currentSheet = $PHPExcel->getSheet(0);  //读取excel文件中的第一个工作表
            $allColumn = $currentSheet->getHighestColumn(); //取得最大的列号
            $allRow = $currentSheet->getHighestRow(); //取得一共有多少行
            $arr = array();  //声明数组
            /**从第二行开始输出,因为excel表中第一行为列名*/
            for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
/**从第A列开始输出*/
                for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
//数据坐标
                    $address = $currentColumn . $currentRow;
                    //读取到的数据,保存到数组$data中
                    $data[$currentRow][$currentColumn] = $currentSheet->getCell($address)->getValue();
                    /**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/
                    //echo iconv('utf-8','gb2312', $val)."\t";
                }
            }
            foreach ($data as $k => $v) {
                $where = ['suffix'=>$v['A']];
                $num = Db('suffix')->where($where)->value('id');
                if(!$num){
                    $arr['suffix'] = $v['A'];
                    $arr['companyname'] = $v['B'];
                    $num = Db('suffix')->insert(['suffix'=>$arr['suffix'],'companyname'=>$arr['companyname'],'creat_time'=>date('y-m-d h:i:s')]);
                    if($num < 0){
                        return $this->error('导入数据库失败');
                    }
                }
            }
return $this->success('导入成功');
}
execl 导入的更多相关文章
- MVC execl 导入导出
		
MVC execl 导入导出 <input id="xls" name="xls" type="file" style="w ...
 - NET 5 Execl导入数据处理(EppLus、NPOI)
		
先来简单介绍下市面上最广泛常见的三种操作excel库的优缺点1.NPOI 优点:免费开源,无需装Office即可操作excel, 支持处理的文件格式包括xls, xlsx, docx.格式 缺点:不支 ...
 - Execl导入问题之文本转换
		
前些天在基础数据的导入过程中,遇到了这样一个问题:数据明明存在,可是就是不识别!给出的错误提示是:该数据对应的外键不存在! 我找出其中的一条数据,在外键表中查询是存在的!问题出在哪里了呢? 从exec ...
 - POI事件模型处理execl导入功能(只支持07版本的execl)
		
由于通过new XSSFWorkbook 这种方式导入导致生产环境端口宕机.通过dump文件和javacore文件分析是导入功能导致的.解决办法:自己通过网上写的工具类,不知道是否存在bug. pac ...
 - Execl导入系统
		
文件导入功能 前台代码: Content\JS\jquery.ajaxfileupload.js<script src="~/Content/JS/jquery.ajaxfileupl ...
 - 2020-06-30  pol实现execl导入导出
		
1.导入依赖 <!-- 解析表格 --> <dependency> <groupId>org.apache.poi</groupId> <arti ...
 - 基于NPOI的Execl导入导出例子
		
源地址:http://bbs.csdn.net/topics/390830774
 - 利用NPOI导出数据到Execl
		
相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpCont ...
 - PHP Yii2.0PHPexecl导入。
		
use app\models\execl; use \PHPExcel; /*execl导入数据*/ public function Execlupload(){ if(Yii::$app->r ...
 
随机推荐
- PAT 1043 输出PATest(20)(代码+思路)
			
1043 输出PATest(20)(20 分) 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出 ...
 - Mercedes offline programming/coding tips and guides
			
Mercedes offline programming/coding recommendations and guides: Offline coding: SCN or CVN coding wa ...
 - VirtualBox中安装Fedora9及其ARM开发环境配置
			
因为要学习Tiny4412开发板的嵌入式编程,需要用到Fedora9系统(和手册对应),我就在VirtualBox虚拟机(此虚拟机安装在Ubuntu12.04上)上安装了Fedora9,下面就讲解一下 ...
 - SystemTap 工作原理
			
<systemtap原理及使用> https://www.cnblogs.com/youngerchina/p/5624588.html 这篇帖子前边系统介绍了systemtap的工作原理 ...
 - js模态框实现原理
			
<!DOCTYPE> <html> <head> <style>/* 定义模态对话框外面的覆盖层样式 */ #modal-overlay { visib ...
 - Notepad++ tab替换为4个空格
 - web.xml 详细介绍(zz)
			
web.xml 详细介绍 博客分类: CoreJava WebXMLServletJSPTomcat http://mianhuaman.iteye.com/blog/1105522 1.启动一个W ...
 - tms web core 与 kbmmw 第一次亲密接触
			
最近,tms 经过1年多,集合了数十名高手大牛,开发出了一个跨时代的产品,就是tms web core. 具体的介绍详见官网,https://www.tmssoftware.com/site/tmsw ...
 - 2019.02.09 bzoj1042: [HAOI2008]硬币购物(完全背包+容斥原理)
			
传送门 题意简述:有四种面值的硬币,现在qqq次询问(q≤1000)(q\le1000)(q≤1000),每次给出四种硬币的使用上限问最后刚好凑出sss块钱的方案数(s≤100000)(s\le100 ...
 - 2018.12.15 codeforces 920F. SUM and REPLACE(线段树)
			
传送门 线段树入门题. 给你一个序列:支持区间修改成自己的约数个数,区间求和. 实际上跟区间开方一个道理. 2的约数个数为2,1的约数个数为1,因此只要区间的最大值小于3就不用修改否则就暴力修改. 因 ...