个人总结的php excel导入功能

贴出主要代码:

/*** @Author: 小枫哥* @Date: 2018-12-21 10:40:10* @Param: $HighestColumn |列数; $HighestRow |行数; $sheettmp |当前活动sheet对象* @Last Modified time: 2018-12-21 14:41:10* @notice:此方法只适用于phpexcel搭配使用*/static  function importExcel($tmp_file,$name,$size){include_once ROOT_PATH.'phpexcel/PHPExcel.php';// 判断Excel文件版本类型$excelType = PHPExcel_IOFactory::identify( $tmp_file );if ($excelType == 'Excel5'){include_once ROOT_PATH.'PHPexcel/PHPExcel/Reader/Excel5.php';include_once ROOT_PATH.'phpexcel/PHPExcel/Writer/Excel5.php';}else if ($excelType == 'Excel2007'){include_once ROOT_PATH.'PHPexcel/PHPExcel/Reader/Excel2007.php';include_once ROOT_PATH.'phpexcel/PHPExcel/Writer/Excel2007.php';}// 设置PHPExcel缓存机制$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_wincache;$cacheSettings = array( 'cacheTime'  => 600 );PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);//创建一个excel对象和一个reader$objPHPExcel = new PHPExcel();$objReader = PHPExcel_IOFactory::createReader ( $excelType );//读取Excel模板$objPHPExcel = $objReader->load ( $tmp_file );$objPHPExcel->setActiveSheetIndex(0);$sheettmp = $objPHPExcel->getActiveSheet();$HighestRow  = $sheettmp->getHighestColumn(); // 取得总列数$HighestColumn = $sheettmp->getHighestRow();    // 取得行数//excel的数据组装成数组$excelArr=self::excel_toArr($start,$HighestColumn,$HighestRow, $sheettmp);}static function excel_toArr($start,$HighestColumn,$HighestRow, $sheettmp){$excellie = array();$excelArr = array();$index = 0;//注意excel中Z之后就是AA,AB,AC,此方法适用与一般的导入$character = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');$key=array_search($HighestRow,$character);for ($i=0; $i < 26; $i++) { if($i < $key+1 ){$excellie[] = $character[$i];}else{break;}}for ($i = $start; $i < $HighestColumn+1; $i++){$tmp=array();for($k=0;$k<count($excellie); $k++){$cell = $sheettmp->getCell($excellie[$k].$i)->getCalculatedValue();if($cell instanceof PHPExcel_RichText){ //富文本转换字符串$cell = $cell->__toString();}$tmp[$excellie[$k].$i] = $cell;}$excelArr[$index] = $tmp;$index++;     }return $excelArr;}//获取到的数据形式如下array (0 => array ('A2' => 12,'B2' => 222,'C2' => 22,'D2' => 2,'E2' => 2),1 => array ('A3' =>12,'B3' =>222,'C3' => 22,'D3' => 2,'E3' => 2),2 => array ('A4' =>  12,'B4' =>  3.3366,'C4' =>  22,'D4' =>  2,'E4' =>  2));

php excel导入功能相关推荐

  1. excel导入功能实现

    建立公共导入的页面路由 excel导入功能需要使用npm包xlsx,所以需要安装xlsx插件 $ npm i xlsx ** 创建公共组件UploadExcel并全局注册** 这里其中里面的功能我们了 ...

  2. Vue 实现 Excel 导入功能

    前言 在实际开发中导入功能是非常常见的,导入功能前端并不难,难的是后端字段的对应,主要处理在后端. 我们只需要用饿了吗ui upload上传组件封装一层就可以了,主要起到上传文件作用. 通过按钮跳转到 ...

  3. 解析大型.NET ERP系统 设计通用Microsoft Excel导入功能

    做企业管理软件很难避免与Microsoft Excel打交道,常常是软件做好了,客户要求说再做一个Excel导入功能.导入Excel数据的功能的难度不大,从Excel列数据栏位的取值,验证值,再导入到 ...

  4. Java实现Excel导入功能(初)

    Java实现Excel导入功能(初) idea Excel数据导入 如何实现呢? fastExcel jxl格式(第三方) poi格式(第三方) ** * 例:jxl格式解析Excel* ** 首先去 ...

  5. 若依分离版实现excel导入功能

    若依分离版实现excel导入功能 后端: 1.在实体变量上添加@Excel注解,默认导入和导出,若只想导入加入 type = Excel.Type.IMPORT /** 负责人 */@Excel(na ...

  6. js实现Excel导入功能

    仅上传Excel文件给后台 <input id="articleImageFile" name="excelFile" type="file&q ...

  7. EAS BOS Excel导入功能

    1:模板配置(*实现类的名称为实现导入功能类的路径). 2:  设置导入参数 /*** 配置导入信息* @return*/protected ArrayList getImportParam() {D ...

  8. 导入功能 php,PHP excel导入功能

    excel 导入, 上传文件必须为csv格式的文件,然后读取上传的文件,转换数组,存数据库就好了 下面最后的 $updata 就是最后处理好的数组,然后存数据库. //车辆excel导入 public ...

  9. spingboot+layui+poi实现excel导入功能,并批量插入数据库

    1.maven的pom文件添加下面jar包 <dependency><groupId>org.apache.poi</groupId><artifactId& ...

最新文章

  1. 修改手机屏幕刷新率_到底高刷新率屏幕为智能手机带来什么?
  2. 网站被k不要慌,看看“老油条”们是怎么解决的吧!
  3. css+图标偏移,css background-position 偏移的问题
  4. 面向新闻媒体的命名实体识别技术
  5. java that关键字_Java中this关键字的几种用法
  6. 关于tomcat5.5或6.0免安装版,点击startup.bat启动自动消失问题
  7. freeswitch php事件订阅,例子3:事件订阅,监听多个事件
  8. 太原警方通过微博提醒您手机丢失如何保微信安全
  9. NYOJ 305 表达式求值 (字符串处理)
  10. ie中弹出框中元素的定位
  11. python常用模块一
  12. Intel XTU 开机自启
  13. 分享一个不错的个人简历模板下载网站(word文件可编辑的)
  14. pyecharts可视化画3D动态地球仪,世界地图,中国地图。
  15. 【macOS免费软件推荐】第8期:IINA+
  16. c语言用函数求组合数编程,C语言函数 -C语言求组合数
  17. 动作游戏设计三部曲 之一 交互至上
  18. 使用较广泛的安全测试工具有哪些?
  19. java中正则表达式校验日期,1999-01-01 ,1991\01\01,-分割和\分割两种形式
  20. Java 能创建多少线程

热门文章

  1. python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论
  2. 区块链是什么通俗解释_区块链技术是什么?区块链的通俗解释原来是这样!
  3. lol英雄联盟符文助手/一键应用符文易语言源码
  4. 中国防篡改封条市场深度研究分析报告
  5. Criteo使用Cassandra存储后端实现Graphite的规模化
  6. 论文阅读|用于不同问题的MADDPG算法框架系列论文汇总
  7. zk-snark的算法详解
  8. algodoo是什么意思_洋是什么意思 带洋字的男孩名字 用洋字起名的寓意
  9. 关于 Kubernetes中kube-controller-managerr的一些笔记
  10. JetBrain学生免费全家桶