layui php+PHPExcel 拉取excel表格数据一键导入

thinkphp5+phpexcel实现excel表格导入数据到数据库 1、下载phpexcel composer require phpoffice/phpexcel 2、html代码 <form class="form form-horizontal" id="form-article-add" method="post"> <div class="row clearfix"> <div class="form-controls col-xs-12 col-sm-12"> <span class="btn-u 阅读详情

需求:大量数据需要导入数据库,直接拉取excel表格进行读取数据并存入数据库,过程中不对文件进行存储(使用上传过程中的缓存文件)。

前端代码(layui+php):

<?php
	if(!defined('MEMCACHE_HOST'))
	{
		define('MEMCACHE_HOST','1****5');
		define('MEMCACHE_PORT',1***2);
	}
	include_once('/opt*******memcache.php');
	$cpage	= 'add_uploads';
	$ask***_str	= M::Get('as***list');
	$ask_***_arr	= json_decode($ask_a***r,true);//获取客户名列表,存在缓存中
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<title>问答频道后台</title>
	<link rel="stylesheet" rev="stylesheet" href="http://www.qubaobei.com/badmin/city/style/style.css?v=4" type="text/css" />
	<link rel="stylesheet" href="//www.qubaobei.com/kadmin/zlmm/static/admin/lib/layui/css/layui.css" id="layui">
	<style type="text/css">
	a:visited {
		color: #fff;
		text-decoration: none;
	}
	a:link {
		color: #fff;
		text-decoration: none;
	}
	</style>
</head>
<body>
<?php include_once('global/nav.php');?>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  <legend>客户批量问题一键导入</legend>
</fieldset> 
<form class="layui-form" action="">
	<div class="layui-form-item">
		<label class="layui-form-label">类型</label>
		<div class="layui-input-inline" style="width: 115px">
			<input type="checkbox" name="base" lay-skin="switch" lay-filter="base" lay-text="新增|选择">
		</div>
		<div id="base" style="display: none;">
			<div class="layui-input-inline" style="width: 100px">
				<input type="text" id="new_ad" name="new_ad" style="width: 100px" class="layui-input" value="" placeholder="客户名">
			</div>
		</div>
		<div class="layui-input-inline" style="padding: 9px 15px;line-height: 20px;">
			<a class="layui-btn layui-btn-xs"  href="./document/template.xlsx" download="">导入数据表格模板下载</a>
		</div>
	</div>
	<div class="layui-form-item" id="base_1">
		<label class="layui-form-label">客户名</label>
		<div class="layui-input-block" style="width: 700px">
		<?php foreach($ask_adv_post_cat_arr as $v):?>
			<input type="radio" lay-filter="ad_id" name="cate" value="<?php echo $v['cat_id'];?>" title="<?php echo $v['new_ad'];?>">
		<?php endforeach;?>
		</div>
	</div>
	<div class="layui-form-item">
		<label class="layui-form-label">文件上传</label>
		<div class="layui-upload-drag" id="test10">
		  <i class="layui-icon"></i>
		  <p>点击上传,或将文件拖拽到此处</p>
		</div>
	</div>
</form>
<!-- 上传完之后服务器返回链接 -->
<div style="overflow-y:auto; overflow-x:auto;  width:450px; height:600px; position: fixed;right: 30px;top: 100px;">
<table class="layui-table">
  <colgroup>
    <col width="200"><col>
  </colgroup>
  <thead>
    <tr>
      <th>链接</th>
    </tr> 
  </thead>
  <tbody id="url_list">

  </tbody>
</table>
</div>
</body>

<script src="//www.qubaobei.com/kadmin/zlmm/static/admin/lib/layui/layui.js"></script>
<script>

  layui.use(['upload','jquery','form'], function () {
    var $ = layui.jquery,
		form  = layui.form,
		upload = layui.upload;

	var cat_id=0,new_ad='';
    //监听开关操作
	form.on('switch(base)', function(data){
		var obj    = $(data.elem);
		var change = this.checked
		if(change){
			$('#base').show();
			$('#base_1').hide();
			$('#new_ad').val('');
			new_ad = '';
		}else{
			$('#base').hide();
			$('#base_1').show();
			$('#new_ad').val('');
			new_ad = '';
		}
	});
    //由于不使用表单提交,监听单选项值
	form.on('radio(ad_id)', function(data){
		cat_id = data.value;
	}); 
	//获取新增客户名
	$('#new_ad').blur(function(){
		new_ad = $('#new_ad').val();

	});
	//拖拽上传(不可以直接使用默认data形式!!由于是reder在一开始就确定了data值,所以需要在befor中重定义data。)
	upload.render({
		elem: '#test10'
		,url: 'sub/ask_adv.php'
		,accept: 'file' //普通文件
		,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
			this.data = {
						  method: 'one_button_import',
						  cat_id:cat_id,
						  new_ad:new_ad
						}
		}
		,done: function(res){
			if(res.ret==1){
				var i = layer.msg(res.msg,{time: 500},function(){ layer.close(i);});
				res.data.forEach(function(v){  
					var str="<tr><td>"+v[1]+"</td></tr>";
					$("#url_list").append(str);
				});
			}else{
				var index = layer.alert(res.msg,{icon:2},function(){ layer.close(index);});
			}

		}
	});
});
</script>

服务端代码:

//导入PHPExcel类文件(git:https://github.com/PHPOffice/PHPExcel,压缩文件:https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8)

include_once("../util/PHPExcel/Classes/PHPExcel/IOFactory.php");
include_once("../util/PHPExcel/Classes/PHPExcel.php");


	//自动化一键导入
	public function one_button_import(){
		$file	= $_FILES['file'];//获取上传的文件
		$cate	= isset($this->get['cat_id'])?$this->get['cat_id']:0;//获取额外的数据
		$new_ad	= isset($this->get['new_ad'])?$this->get['new_ad']:'';
		if(!$cate && !$new_ad){
			$data['ret']=0;
			$data['msg']='未选择分类或未新增';
			echo json_encode($data);die;

		}
        //新增客户选项
		if(!$cate && $new_ad){
            //查找库中目前最大客户id值
			$sql	= "select max(cat) as max_cat from `ask_post` where `state`=1 limit 1";
			$max_cat= $this->ms->getRow($sql);
			$cate	= (int)$max_cat['max_cat']+1;
			//保存分类到缓存
			$ask_adv_post_cat_str	= M::Get('ask****_list');
			$ask_adv_post_cat_arr	= json_decode($ask_adv_post_cat_str,true);
			$new_quit	= array('cat_id'=>$cate,'new_ad'=>$new_ad);
			$ask_adv_post_cat_arr[]	= $new_quit;
			//$ask_adv_post_cat_arr	= array(array('cat_id'=>9999,'new_ad'=>'伊***品线'));
			$str = json_encode($ask_adv_post_cat_arr);
			M::Set('ask_****_list',$str);
			//文件记录,以防缓存丢失
			$log_str = '=========='.date('Y-m-d H:i:s').'=========='.PHP_EOL.var_export($ask_adv_post_cat_arr,true).PHP_EOL;
			file_put_contents('/o*******/log/ask_ad_cat_post.txt',$log_str,FILE_APPEND);
		}
        //使用缓存文件
		$inputFileName = $file['tmp_name'];
		//读取excel文件
		try {
			$inputFileType	= PHPExcel_IOFactory::identify($inputFileName);
			$objReader		= PHPExcel_IOFactory::createReader($inputFileType);
			$objPHPExcel	= $objReader->load($inputFileName);
		} catch(Exception $e) {
			die('加载文件发生错误:”'.pathinfo($inputFileName,PATHINFO_BASENAME).'”: '.$e->getMessage());
		}
        //形成数组
		$excel_data = $objPHPExcel->getSheet(0)->toArray();
		$url_list = array();
		foreach($excel_data as $k=>$v){
			if($k>0){
				//入库
				$post_id = $this->add_advice_post($v[0],$v[1],1,$cate);
				if($post_id){
					$url_list[] = array($v[0],"http:********e/detail.php?id=".$post_id);
				}else{
					die;
				}
			}
		}
		if($url_list){
			$data['ret']=1;
			$data['msg']='导入成功';
			$data['data']=$url_list;
		}else{
			$data['ret']=1;
			$data['msg']='导入失败,联系程序员';
		}
		echo json_encode($data);die;
	}

 

PHPExcel 批量导入数据 说明: 前台使用layui插件  非常简单 不会的去看文档 没有任何难度 地址 https://www.layui.com/ 使用的PHP框架是CI HTML页面 &lt;form class="layui-form" action="/admin/Material_purchase/import_data" method="post" target="frame1" enctype="... 阅读详情

相关推荐

手把手教你用三菱PLC控制JET伺服原点:从硬件接线到GXWORKS3程序调试

本文详细介绍了如何使用三菱PLC控制JET伺服系统实现原点回归功能,涵盖硬件接线、参数配置到GX Works3程序调试的全流程。通过实战指南,帮助工程师快速掌握伺服控制技术,提升工业自动化项目的实施效率。

weixin_30642561的博客 534

LayUI⑺:与PHP结合写一个通用的Excel导入程序

  昨天和两个做开发的朋友聊天,对于我还在使用LayUI感到奇怪,我也没有多解释,毕竟LayUI对于做一些中小型的开发还是不错的,前端的框架中,熟悉了一个其他的也差之不多。但LayUI的资料不细致是个很大的缺憾。   用户提出有一个Excel表的记录要导入,这个是基本要求,肯定要满足。   2006年,我用PowerBuilder写过一个通用的导入程序,程序上也不难。   用前端框架来完成会有一点麻烦,主要在于   1、数据回显   如果是让用户选择一个Excel文件然后就直接入库,那程序就太

dawn0718的专栏 940

HDMI2.1 FRL流控 概览

HDMI 2.1 FRL的流控本质是。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2080

使用PHPExcel进行excel数据导入。涉及Layui、PHP、SQL

前言 最近开发又涉及将excel表格内的数据导入到数据库内。之前是简单的使用过,这次重用又花了点时间来梳理,所以记载下来。 前端的话用的Layui,必须是2.0版本以上的! 下载链接:https://www.layui.com/ <div> <a class="layui-btn" id='upload'>导入</a> </div> <script> layui.use('upload', function(){ .

weixin_44130106的博客 573

Python 高级语法:闭包

闭包(Closure)是函数式编程中的一个重要概念。在Python中,闭包可以简单理解为:一种特殊的函数。外函数:嵌套函数中最外层的函数称之为外函数。内函数:嵌套函数中最内层的函数称之为内函数;内函数引用了外函数的临时变量;外函数的返回使用了临时变量的内函数。

moment159的博客 2353

学Simulink——基于Simulink的PMSM矢量控制(FOC)从零搭建

《Simulink下PMSM矢量控制(FOC)全流程开发指南》 本教程系统讲解了基于Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)实现方法。主要内容包括:FOC控制原理与双闭环架构设计、Simulink建模全流程(含PMSM本体建模、坐标变换、PI控制器设计等)、关键调试技巧以及工程扩展方向。教程以48V伺服电机为例,详细演示了从Clarke/Park变换到SVPWM生成的完整实现过程,并提供了参数配置建议和常见问题解决方案。通过本教程,读者可掌握FOC系统的核心实现技术,为开发高性能电机

xiaoheshang_123的博客 273

PHPExcel的使用与手册说明

1、下载PHPExcel插件 2、解压后提取classes文件夹到工作目录,并重命名为PHPExcel 下载地址:http://phpexcel.codeplex.com/ 3、引入与实例化 require_once("PHPExcel/PHPExcel.php"); $objPHPExcel = new PHPExcel(); print_r($objPHP...

afk46847的博客 383

ollama如何在自己的服务器上跑Qwen3(小白必看)

在国内下载ollama最新安装包时,使用curl -fsSL https://ollama.com/install.sh | sh命令可能会遇到网络问题导致下载进度停滞。为了解决这一问题,可以通过国内的镜像源进行下载,例如使用modelscope社区提供的最新ollama镜像仓库。具体步骤包括:首先通过pip install modelscope安装modelscope,然后使用modelscope download命令下载ollama-linux镜像,接着进入下载目录并赋予安装脚本执行权限,最后运行安装脚

Ven%的博客 756

layui+tp Excel表格信息入库,员工信息批量入库 (小笔记)

原理:利用layui封装的excel.js将excel表数据逐行读取出来,然后逐条写入数据库。layui-excel我们需要的是\layui_exts文件里面的excel.js。下载完解压后将该目录放置于你网站layui相关js位置,然后引用。然后引入相关js就变成了这样,一切准备就绪啦。所以我决定把layui_exts文件夹放这。本期分享到此结束,嗯,又是充实的一天。我看到我这引用的公共文件。

qq_58378409的博客 665

使用MATLAB/Simulink对一个简单的智能家居温湿度监测与控制系统进行建模和仿真

目录手把手教你学Simulink——基于Simulink的智能家居温湿度监测与控制仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:构建传感器模块步骤3:添加控制器步骤4:构建执行器模块步骤5:连接各部分步骤6:设置仿真参数步骤7:添加观测器步骤8:运行仿真并分析结果四、总结 智能家居系统中的温湿度监测与控制系统是一个典型的物联网(IoT)应用场景,它通过传感器收集环境数据,并根据预设条件自动调节室内温度和湿度以提高居住舒适度。本指南将介绍如何使用MATLAB/S

xiaoheshang_123的博客 291

制作你自己的yolov5数据集并进行训练

项目地址:make-your-yolov5_dataset 一、数据集标注软件 labelImg labelMe 精灵标注助手 更多的标注工具你可以去看:深度学习图像标注工具汇总 、 十个最常用深度学习图像/视频数据标注工具 、 百度一下 在这里我选择使用labelImg 二、数据集标注 下载labelImg 解压,直接打开labelimg.exe labelImg标注数据 标注完成后即可获得VOC格式(生成.xml文件)的数据 目录结构: dataset │ ├─Annotations .

年少的勇气已经用完,剩下的就是三思而后行 1万+

使用springboot+EasyExcel+Layui实现批量数据导入导出

之前出过一期easyExcel在SSM的环境下使用流程,本篇演示在springboot环境下easyExcel的使用上篇链接使用EasyExcel实现表格的导入导出【http://t.csdn.cn/0MLgt】springboot环境下,和SSM下使用EasyExcel导入和导出最大的区别是,springboot环境下不需要配置配置上传组件,因为springboot是去配置化开发,相比之下,springboot比SSM要好用的多。

Java学习博客 2141

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TP5框架 《使用PHPExcel 导入Excel表格到数据库》

先从我的Github上,下载PHPExcel类扩展: https://github.com/hujinchen/PHPexcel/tree/master 然后去TP框架的 extend 文件夹下新建个文件夹命名为 phpexcel,把下载下来的文件放到这目录下 前端代码: //html &lt;div style="display: inline-flex;position: rela...

涛々的技术博客 1581

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

tp5使用PHPExcel实现excel表格数据导入数据库

将excel文件中的数据导入到数据库,需要注意的是:如果该数据库中存在与将要导入的excel文件名的同名表,则会被覆盖掉,请千万注意

doubi6的博客 1174

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

PHPExcel+layui上传excel文件并解析成数组

为什么80%的码农都做不了架构师?>>> ...

weixin_34205076的博客 1523

tp5.1导入Excel插入数据库 前端将列表导出为Excel文件

前端导入Excel将对应字段插入数据库表中 用到 1. tp5.1 开发 2. php的扩展 PHPEXCEL 3. layui 的文件上传(前端) 先制作出前端显示的列表页面 用到layui的数据表格制作出需要的列表页面 导入功能 导入按钮的代码 <a onclick="importExcel()" class="layui-btn layui-btn-primary layui-btn-sm layui-icon layui-icon-upload"

weixin_45237065的博客 692

exls导入数据库 php_PHP Excel文件导入数据到数据库

1.php部分(本例thinkphp5.1):namespace app\admin\controller;//引入phpExceluse Env;use vendor\PHPExcel\PHPExcel;class Upload{//上传Excel 导入数据public function import(){include_once(Env::get('root_path').'vendor/...

weixin_36384964的博客 250

tp5 excel 导入 mysql_thinkphp5、tp5中excel表格的导入数据库的实现示例

日常生活中,表格的导入很多!每次做导入的时候还需要百度一下,很麻烦!这次稍微总结下方法吧!本方法适用tp5.0框架适用的方法也简单!希望对大家能有点帮助吧!由于我这次本机的composer安装后需要重启,但是我电脑上的项目又特别赶时间,算了,还是老土办法吧!下面开始上教程1:下载PHPexcel包下载地址:https://github.com/PHPOffice/PHPExcel 点击下载z...

weixin_39998881的博客 443

php layui数据导入excel,TP5(layui)excel导入

1.composer安装PHPExcel下载安装composer其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel注意:1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号2.还有可能出现 找不到匹配的包的错误,这是因为我本地用的phpstudy的nts版本,这个版...

weixin_42613572的博客 440

Layui和TP5导入Excel单表

Layui和TP5导入Excel单表 1、layui导入,导出,下载样式 <button class="layui-btn" onclick="exportData();">导出</button> <button class="layui-btn" onclick="downloadTemplate();">模板下载</button> <button id="importData" class="layui-btn" onclick="importDat

zax_96的博客 537

layui php phpexcel导出,Yii2 基于 layui 的 Excel 上传并导入数据(含分页)

安装命令:composer require phpoffice/phpexcel引入layui包,我这里用的是2.4.5的版本,请自行下载对应版本layui前台页面导入文件卡号信息layui.use(['form','element','upload','table'], function(){var element = layui.element;var upload = layui.uploa...

weixin_32896083的博客 409

php 数组 excel,PHPExcel+layui上传excel文件并解析成数组

前端代码上传excel上传文件layui.use(['form','upload'],function(){var form=layui.form;var upload=layui.upload;upload.render({ //允许上传的文件后缀elem: '#myfile',url: "{:url('zhoubian/do_upload')}",accept: 'file' //普通文件,...

weixin_36028920的博客 393

tp5 (layui )excel导入

1.composer安装PHPExcel 下载安装composer 其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel 注意: 1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号 2.还有可能出现 找不到匹配的包...

414

怎么将layui导入php中,TP5(layui)excel导入

1.composer安装PHPExcel下载安装composer其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel注意:1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号2.还有可能出现 找不到匹配的包的错误,这是因为我本地用的phpstudy的nts版本,这个版...

weixin_39926104的博客 325
上一篇: layui 简易后台 特定文章放到特定位置(layui+php,缓存)
下一篇: 设计模式的学习了解(六大原则,五大创建型模式,十一大行为型模式,七大结构型模式)
阿……莫西林
博客等级 码龄9年 42粉丝 111原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值