use app\models\execl;

use \PHPExcel;

/*execl导入数据*/
public function Execlupload(){
if(Yii::$app->request->isPost){
$tmp_file = $_FILES ['execl'] ['tmp_name'];
$file_types = explode ( ".", $_FILES ['execl'] ['name'] );
$file_type = $file_types [count ( $file_types ) - 1];
if (strtolower ( $file_type ) != "xlsx"){
return 4;/*文件类型错误*/
}
$savePath = "execlupload/";/*存储地址*/
$str = date ( 'ymdhis' );
$file_name = $str . "." . $file_type;
if(!@move_uploaded_file($tmp_file,$savePath.$file_name)){
return 3;/*上传失败*/
}else{
$objPHPExcel = new \PHPExcel;
$objReader = \PHPExcel_IOFactory::createReader("Excel2007"); //创建读入器Excel5
$excelFile = dirname(dirname(__FILE__)).'/web/execlupload/'.$file_name;//获得文件绝对路径
$objExcel = $objReader->load($excelFile,'UTF-8'); //加载文件
$sheet = $objExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
if($highestRow>1){
for($row = 2;$row <= $highestRow; $row++){
$data = array();
for($column = 'A'; $column <= $highestColumn; $column++){
$data[] = trim($sheet->getCell($column.$row)->getValue());
}
$data1 = $data[0];/*进行入库操作*/
if($data){
$ok = 1;
}
}
if($ok==1){
//导入成功 删除文件
unlink($excelFile);
return 1;/*成功*/
}else{
return 2;/*失败*/
}
}
}
}
}

最新文章

  1. [Asp.net 5] Caching-缓存架构与源码分析
  2. MVC 缓存
  3. 外键约束 以及 数据库中实体的对应关系(1==1,1==n,n==n)
  4. Redis和Memcached对比
  5. csharp: Socket
  6. 问题解决——warning C4503 超出修饰名的长度,名称被截断
  7. 【hdu3065-病毒侵袭持续中】AC自动机
  8. 翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(2)
  9. Cloud Computing Deployment Models
  10. ASP获取当前页面带参数的网址(URL地址)的方法
  11. Html 小插件6 百度新闻插件
  12. SQL Server 2012中快速插入批量数据的示例及疑惑
  13. CJOJ 1943 【重庆八中模拟赛】寻找代表元(二分图最大匹配)
  14. Autotools setting
  15. 找出N个无序数中第K大的数
  16. GRUB2 命令行使用笔记
  17. Android 状态栏开发
  18. SDN开源项目以及组织机构
  19. Tag Archives: 海明距离
  20. js json转url参数

热门文章

  1. 不可小视的String字符串
  2. object.key 对象的键排序 可能出现的问题
  3. bzoj4812: [Ynoi2017]由乃打扑克
  4. 51nod 1132 覆盖数字的数量 V2
  5. [UE4]认识CanvasPanelSlot,Construct Object From Class动态创建UI控件
  6. 阿里直播在线人数只统计rtmp格式的播放源
  7. window.open打开新窗口报错ie 位指明错误,原因是window没有加引号!
  8. 使用docker搭建redis主从模式
  9. 使用unbound提供DNS域名解析服务
  10. mybaits插入时的一些总结