前期准备工作:

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('请导入表格 !');
}
}

最新文章

  1. css3结构性伪类选择器
  2. SSH basics
  3. 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding
  4. css3属性 transition transform
  5. 单元测试-代码覆盖率工具 -- JaCoCo
  6. 权重随机算法的java实现
  7. (二)boost库之字符串格式化
  8. myeclipse连接数据库oracle
  9. [Angular Tutorial] 0-Bootstraping
  10. [SHOI2017]相逢是问候
  11. 【动态规划】 EditDistance
  12. 【Hibernate】Unable to locate appropriate constructor on class原因分析
  13. Redis for linux安装配置之—-源码安装
  14. MVC通用控件库展示-MVC4.0+WebAPI+EasyUI+Knockout--SNF快速开发平台3.0
  15. ldap集成grafana
  16. LED硬件访问服务(2)——JNI/HAL
  17. 如何安装windows7
  18. ARC与Toll-Free Bridging
  19. java 或者 js 获取项目访问路径(域名)
  20. MFC中两个对话框之间数据传递

热门文章

  1. 将mysql主键id从1开始 变为自增
  2. 内网Metasploit映射到外网
  3. 【新特性速递】CSS3动画增强
  4. mysql用户与权限操作
  5. 设置 VMware 中的 Mac OS 虚拟机进入 Recovery 模式
  6. 练手WPF(四)——贪吃蛇小游戏的简易实现(下)
  7. 删除Win10远程桌面中的无用的IP列表
  8. PDO封装增删改查
  9. 前端开发CSS3——使用方式和选择器
  10. 【入门篇】前端框架Vue.js知识介绍