TP5导入EXCEL到数据库
前期准备工作:
1.下载PHPExcel放到vendor下

2.前端页面:
<form action="save" method="post" enctype="multipart/form-data">
<div class="time-add clearfix">
<input type="submit" disabled name="submit" class="submit" value="提交" />
<a class="dianji" href="javascript:;">
<input type="file" name="file" id="fileupload" class="inputfile" style="position: absolute;display: none;"/>
<label class="span" for="fileupload">批量导入用餐记录</label>
</a>
</div>
</form>
3.后端代码
public function save(){
//设置文件上传的最大限制
ini_set('memory_limit','1024M');
//加载第三方类文件
vendor("PHPExcel.PHPExcel");
//防止乱码
header("Content-type:text/html;charset=utf-8");
//实例化主文件
//接收前台传过来的execl文件
$file = $_FILES['file'];
//截取文件的后缀名,转化成小写
$extension = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
if($extension == "xlsx"){
//2007(相当于是打开接收的这个excel)
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
}else{
//2003(相当于是打开接收的这个excel)
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
}
$objContent = $objReader -> load($file['tmp_name']);
if ($objContent){
$sheetContent = $objContent -> getSheet(0) -> toArray();
//删除第一行标题
unset($sheetContent[0]);
$time= $mothtime= strtotime(date("Y-m-d H:i:s", strtotime("-1 month")));
foreach ($sheetContent as $k => $v){
$arr['name'] = $v[1];
$arr['card_number'] = $v[2];
$arr['department_name'] = $v[3];
$arr['breakfast'] = $v[4];
$arr['lunch'] = $v[5];
$arr['dinner'] = $v[6];
$arr['supper'] = $v[7];
$arr['total'] = $v[8];
$arr['create_time'] = $time;
$res[] = $arr;
}
//删除最后一行汇总
array_pop($res);
$re = Db::name('dining')
->insertAll($res);
if($re){
$this->success('导入成功 !');
}else{
$this->error('导入失败 !');
}
}else{
$this->error('请导入表格 !');
}
}
TP5导入EXCEL到数据库的更多相关文章
- 一步步实现ABAP后台导入EXCEL到数据库【3】
在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...
- 一步步实现ABAP后台导入EXCEL到数据库【1】
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...
- 如何使用NPOI 导出到excel和导入excel到数据库
近期一直在做如何将数据库的数据导出到excel和导入excel到数据库. 首先进入官网进行下载NPOI插件(http://npoi.codeplex.com/). 我用的NPOI1.2.5稳定版. 使 ...
- OpenXML_导入Excel到数据库
(1).实现功能:通过前台选择.xlsx文件的Excel,将其文件转化为DataTable和List集合 (2).开发环境:Window7旗舰版+vs2013+Mvc4.0 (2).在使用中需要用到的 ...
- ASP.NET MVC导入excel到数据库
MVC导入excel和webform其实没多大区别,以下为代码: 视图StationImport.cshtml的代码: @{ ViewBag.Title = "StationImport&q ...
- 一步步实现ABAP后台导入EXCEL到数据库【2】
前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...
- jxl读取excel实现导入excel写入数据库
@RequestMapping(params = "method=import", method = RequestMethod.POST) @ResponseBody publi ...
- .Net core 使用NPOI 直接导入Excel到数据库(即不先将Excel保存到服务器再读取文件到数据库)
/// <summary> /// 导入信息 /// </summary> /// <param name="file"></param& ...
- OpenXML_导入Excel到数据库(转)
(1).实现功能:通过前台选择.xlsx文件的Excel,将其文件转化为DataTable和List集合 (2).开发环境:Window7旗舰版+vs2013+Mvc4.0 (2).在使用中需要用到的 ...
随机推荐
- QSS QPushButton:hover :pressed ...为状态下变更字体颜色(color)无效,变成字体粗细(font-weight)有效???
//字体颜色变更无效 QPushButton:hover{ font-weight:bold; color:rgba(, , , ); } //字体颜色变更有效 QPushButton#pushBut ...
- VMware 自动开多台虚拟机脚本
d:cd "D:\WinInstall\VMware\VMware Workstation"ECHO "start vm1"vmrun -T ws start ...
- 迷你版mybatis
public class BootStrap { public static void start(){ MySqlSession sqlSession = new MySqlSession();// ...
- 在项目中使用Solr
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- JDBC的安装与使用
JDBC的安装 首先在登录MySQL的官网下载JDBC-MySQL数据库驱动,或者去www.mysql.com/products/connector直接下载. 因为jdbc包属于第三方包,因此要自己导 ...
- kali渗透综合靶机(三)--bulldog2靶机
kali渗透综合靶机(三)--bulldog2靶机 靶机地址:https://download.vulnhub.com/bulldog/Bulldog2.ova 一.主机发现 1.netdiscove ...
- StringBuilder.sb.AppendLine();
StringBuilder sb=new StringBuilder(); sb.AppendLine("The world is fair and wonderful.Everything ...
- Linux链接文件——软连接和硬链接
Linux链接文件——软连接和硬链接 摘要:本文主要介绍了Linux系统中的链接文件. 文件系统 在Linux系统中,将文件分为两个部分:用户数据和元数据. 元数据(inode) 元数据即文件的索引节 ...
- 快速上手Mac效率神器Alfred以及Alfred常用操作
前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...
- electron——ipcMain模块、ipcRenderer模块
ipcMain 从 主进程 到 渲染进程 的异步通信. ipcMain模块是EventEmitter类的一个实例. 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息. 从渲染器进 ...