mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据

首先:在extend里面引入PHPexcel文件,直接根目录导入进去

3a0ab3ffa2616158fbcde4f5c00f4e81.png

html创建上传按钮

上传excel

上传文件

立即提交

重置

layui.use(['form','upload'],function(){

var form=layui.form;

var upload=layui.upload;

upload.render({ //允许上传的文件后缀

elem: '#myfile'

,url: "{:url('sale/do_upload')}"

,accept: 'file' //普通文件

,exts: 'xls|excel|xlsx' //只允许上传压缩文件

,done: function(res){

if(res.code==1){

layer.msg('上传成功,已解析数据',{icon:6});

}else{

layer.msg('解析失败',{icon:5});

}

}

});

form.on('submit(formsub)',function(data){

layer.msg('导入数据具体详情未协商确认,待确认后处理');

return false;

})

})

在上传后的sale/do_upload中去进行解析上传的excel

public function do_upload(){

//引入文件

\think\Loader::import('PHPExcel.PHPExcel');

$objPHPExcel = new \PHPExcel();

//获取表单上传文件

$file = request()->file('file');

$info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public' . DS . 'uploads');

//数据为空返回错误

if(empty($info)){

$output['status'] = false;

$output['info'] = '导入数据失败~';

$this->ajaxReturn($output);

}

//获取文件名

$exclePath = $info->getSaveName();

//上传文件的地址

$filename = ROOT_PATH . 'public' . DS . 'uploads'.DS . $exclePath;

$extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) );

\think\Loader::import('PHPExcel.IOFactory.PHPExcel_IOFactory');

if ($extension =='xlsx') {

$objReader = new \PHPExcel_Reader_Excel2007();

$objExcel = $objReader ->load($filename);

} else if ($extension =='xls') {

$objReader = new \PHPExcel_Reader_Excel5();

$objExcel = $objReader->load($filename);

}

$excel_array=$objExcel->getsheet(0)->toArray(); //转换为数组格式

array_shift($excel_array); //删除第一个数组(标题);

array_shift($excel_array); //删除th

$data=[];

foreach ($excel_array as $k=>$v){

$data[$k]["danhao"]=$v[0];//单号

$data[$k]["type_name"]=$v[1];//类型名称

$data[$k]["name"]=$v[2];

$data[$k]["number"]=$v[3];

$data[$k]["price"]=$v[4];

$data[$k]["danwei"]=$v[0];

$data[$k]["create_user"]=$v[5];

$data[$k]["create_time"]=$v[6];

$data[$k]["remark"]=$v[7];

}

$msg=[

'code'=>1,

'msg'=>'已获取信息',

];

$msg['data']['src']=$filename;

$msg['data']['data']=$data;

return json_encode($msg);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 2008 FILESTREAM特性管理文件

在SQL Server 2008中,新的FILESTREAM(文件流)特性和varbinary列配合,你可以在服务器的文件系统上存储真实的数据,但可以在数据库上下文内管理和访问,这个特性让SQL Server不仅可以维护好数据库内记录的完整…

System.Drawing.Color转System.Windows.Media.Color

2019独角兽企业重金招聘Python工程师标准>>> //这是两个不同的类 System.Windows.Media.Color color (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(transItemList[i].color.Name); 转载于:https://my.oschina.net/SearchVe…

Prometheus 监控Mysql服务器及Grafana可视化

Prometheus 监控Mysql服务器及Grafana可视化 mysql_exporter:用于收集MySQL性能信息。 使用版本mysqld_exporter 0.11.0官方地址使用文档:https://github.com/prometheus/mysqld_exporter图标模板:https://grafana.com/dashboards/7362下载…

Kafka集群部署搭建完美标准版

Kafka集群部署并启动 在本文中将从演示如何搭建一个Kafka集群开始,然后简要介绍一下关于Kafka集群的一些基础知识点。但本文仅针对集群做介绍,对于Kafka的基本概念不做过多说明,这里假设读者拥有一定的Kafka基础知识。 首先,我们…

Yolov4训练自己的数据集

Yolov4训练自己的数据集 代码运行环境Ubuntu18.04python3.6显卡1080TiCUDA10.0cudnn7.5.1OpenCV3.4.6Cmake3.12.2,详细环境配置安装步骤就不讲解拉,网上教程一大堆。从github克隆下载源码,链接地址:https://github.com/AlexeyAB/…

vs 2010 不显示解决方案文件

vs 2010 不显示解决方案文件的问题早就遇到过,而且也能很容易的解决,唯独这次太郁闷了,先说说之前的我办法吧,像往常一样,在工具栏里面找到 >工具>选项>项目和解决方案>常规>勾中“总是显示解决方案”&…

CentOS7 安装ownCloud

ownCloud的安装依赖LAMP环境,即 Linux Apache MySQL(Mariadb) PHP,所以在装owncloud前最好先装好这些,并且保证已经可用。 为了方便,本文在运行shell命令时都是以管理员用户身份运行(root权限下运行)&a…

java opencv 平移_Java中使用opencv

Java中使用opencvJava中使用opencv零、前言作为图像处理出身,不仅仅要会C图像处理、matlab图像处理、python图像处理、最起码也得会java图像处理,当然我最终还都用的是opencv这个机器视觉库了。今天简单介绍一下java中如何使用opencv。一、配置库(1)官网…

CentOS7 安装 NextCloud

NextCloud 的安装依赖LAMP环境,即 Linux Apache MySQL(Mariadb) PHP,所以在装 NextCloud前最好先装好这些,并且保证已经可用。 为了方便,本文在运行shell命令时都是以管理员用户身份运行(root权限下运行&#xff0…

苹果系统使用之输入法的呈现与设置问题

新装的系统,总是纠结的出现各种问题。今天解决的就是装了Mac OS X 10.6(苹果系统)之后,输入法找不到,用快捷不能设置的问题。 刚开始使用mac os x 系统,其实说用也谈不上,因为本人是使用公司的电…

halcon 17 cuda cudnn 深度学习环境搭建

如果你想安装halcon17,那么很简单,硬盘剩余空间2G,内存超过256M,操作系统win7以上即可。 但显然我们的要求不仅如此,因为我们期待已久的深度学习功能。 详细要求见下表 必备环境:电脑必须要有 NVIDIA 独立显卡&#x…

Format Currency Sample

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"&…

深度学习-服务端训练+android客户端物体识别实战(caffe入门教程+mobilenet+ncnn+android)

文章目录 背景 物体识别简介 自动驾驶 淘宝京东使用物体识别技术公司业务需求 深度学习简介 深度学习的位置 深度学习概念深度学习优势 深度学习基础知识 感知机 激活函数多层感知机卷积神经网络 卷积层 * 池化层 模型训练 前向传播 * 反向传播与参数优化 深度学习服务端框…

java+包装类,装箱和拆箱_Java包装类,装箱和拆箱详解

下面要给大家讲到的就是Java内置包装类方面的知识&#xff0c;这章主要会讲到Java包装类装箱和拆箱方面的知识&#xff0c;一起来了解一下。Java为每种基本数据类型分别设计了对应的类&#xff0c;这就被叫做是包装类(WrapperClasses)&#xff0c;当然&#xff0c;也有的地方叫…

Using JSON for data transfer

为什么80%的码农都做不了架构师&#xff1f;>>> JSON basics At its simplest, JSON allows you to transform a set of data represented in a JavaScript object into a string that you can easily pass from one function to another, or -- in the case of as…

Visual Studio 2010 中JS注释制作

Visual Studio 2010中的js注释已经很强大了&#xff0c;但怎么才能和调用c#的方法一样容易呢&#xff1f;怎样才能让每个参数都有注释说明呢&#xff1f;底下就是想要的答案。 先上图&#xff0c;如图所示&#xff1a; 其中红色的办法为注释效果&#xff0c;当然制作的方法也在…

windows下配置caffe-matlab接口

一、环境说明 也是安装顺序。特别强调的是除VS2015以外&#xff0c;其他软件的安装路径都最好不要包含空格。 1、Windows 64位系统。 2、Visual Studio 2015(VS2015, 对应VC14)。 3、Matlab 2017a。Matlab的版本倒不是很重要&#xff0c;只要支持Matlab 2015a之后的版本都应该…

NVelocity标签使用详解

本文使用的NVelocity版本为1.1.1&#xff0c;应该是目前为止最新的版本吧&#xff0c;前几天在google上找了一个自称是NVelocity 1.6.1 bate2的dll&#xff0c;下载下来一看更新时间是2009年的&#xff0c;还没版本NVelocity 1.1.1&#xff08;2010年出的&#xff09; 新呢&…

一文搞懂蓝绿发布、灰度发布和滚动发布

一文搞懂蓝绿发布、灰度发布和滚动发布 应用程序升级面临最大挑战是新旧业务切换&#xff0c;将软件从测试的最后阶段带到生产环境&#xff0c;同时要保证系统不间断提供服务。 长期以来&#xff0c;业务升级渐渐形成了几个发布策略&#xff1a;蓝绿发布、灰度发布和滚动发布&…

NVelocity标签设置缓存的解决方案

意外的问题总会让人措手不及&#xff0c;今天与大家分享的就是NVelocity设置缓存的问题&#xff0c;之前刚google了一下发现没什么太好的解决方案&#xff0c;希望在这能为需要的朋友找出满意的答案&#xff0c;上一篇blog刚说了NVelocity的用法&#xff0c;这就不在重复了&…