首页 > 编程语言 >PHP---导入Excel数据

PHP---导入Excel数据

时间:2022-09-03 23:13:20浏览次数:63  
标签:++ Excel --- currSheet 导入 file PHPExcel PHP row

最近在开发一个系统,需要做大量的数据处理,特别是导入数据,使用的框架thinkphp6,就目前来说,下面介绍一种逐行添加的方法:

注意:以下这种方式,仅提供开发思路,读取一行,添加一行。

但是这个方法有BUG,亲测,例如:我要导入一个10M的文件,字段有40几个,还有一个富文本的字段,总计:3.5万条。

出现的BUG:导入不进去,也就是超时,但是程序还在执行添加操作。

仅参考,不建议使用。

public function importExcel($file)
{
  if(!$file) return null;
  $filename = '.' . $file;
  $suffix = explode('.',$file);
  $exts = array_pop($suffix);
  $phpExcel = new \PHPExcel();
  // 文件后缀
  if($exts == 'xls'){
      $objRead = new \PHPExcel_Reader_Excel5();
  }else{
      $objRead = new \PHPExcel_Reader_Excel2007();
  };
  // 载入文件 
  $obj = $objRead->load($filename);
  // 获取第一个表
  $currSheet = $obj->getSheet(0);
  // 获取总行数
  $rowCnt = $currSheet->getHighestRow();
  // 获取中列数
  $columnH = $currSheet->getHighestColumn();
  $row ='A';
  // 字母加一位方便下面判断
  $columnH++;
  $fields = array_keys($this->fields);
  $success = 0;
  // 获取数据到data
    for($column = 2; $column <= $rowCnt; $column++){
          $data = [];
          $index = 0;
      while($row != $columnH){
          $data[$fields[$index]] = $currSheet->getCell($row.$column)->getValue();
          $row++;
          $index++;
      }
      $row = 'A';
      $result = $this->universityService->add($data);
      if($result) $success ++;
  }
  var_dump('成功导入' . $success . '条');
}

打完收工!

标签:++,Excel,---,currSheet,导入,file,PHPExcel,PHP,row
From: https://www.cnblogs.com/e0yu/p/16653919.html

相关文章

  • 力扣leetcode刷题记录1----
    【以下题目来源均来自力扣leetcode】 595.大的国家World 表:【描述】name是这张表的主键。这张表的每一行提供:国家名称、所属大陆、面积、人口和GDP值。【问题】......
  • day4:101-A2-Kali Linux系统调试
    kalilinux系统基础配置1.开启root用户登录root超级用户:拥有系统最高权限方法一sudo-s(注:终端输入命令sudo-s,输入密码)vi/etc/pam.d/gdm-autologin(注:进入页面,i进行......
  • 【STL】STL - list简介
    list简介双向链表,可以从任何地方快速插入与删除线性链表结构,数据由若干节点构成,每一个结点都包括一个信息块(实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指......
  • PostgreSQL-插入
    创建表时,它不包含任何数据。在数据库发挥作用之前要做的第一件事就是插入数据。数据一次插入一行。您还可以在单​​个命令中插入多行,但不能插入不完整的行。即使您只知道......
  • 2022-2023-1 20221304 《计算机基础与程序设计》第一周学习总结
    作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标:快速浏览教材作业正文:https......
  • 2022-2023-1 20221415《计算机基础与程序设计》第1周学习总结
    作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标:快速浏览教材作业正文:htt......
  • Explain-SQL语句分析
    explainmysql数据库下,为了判断一条sql是如何执行的,我们需要explain命令。explain命令并不会真正去执行sql语句,而是对语句做一个分析。explain可以告诉我们什么sql......
  • 2022-2023-1 20221309 《计算机基础与程序设计》第一周学习总结
    2022-2023-120221309《计算机基础与程序设计》第一周学习总结作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/roc......
  • Python3项目初始化10-->前端基础jquery、ajax,sweetalert--更新用户改造
    33、JS基础-ajax_post截止目前,完成了登录,创建和删除,“编辑”这块还是老的信息。打开a、点击编辑=>(内容)=>dialogb、内容=>后端ajax 页面上遍历用户时......
  • 小迪安全D4笔记:基础入门-web源码拓展
    title:小迪安全D4笔记:基础入门-web源码拓展author:TTdate:2022-09-02一、web源码目录结构后台目录模板目录数据库目录数据库配置文件二、web源码脚本类型ASP......