ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php框架tp6自学笔记——excel文件处理

2021-09-09 20:33:02  阅读:291  来源: 互联网

标签:name row excel dataArr tp6 ex file php objPHPExcel


读取excel中的内容

  • html
<form action="ExcelUpLoad" name="form" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" />
    <br />
    <input type="submit" name="submit" value="Submit"/>
</form>
  • php处理是参考了很多文章,选择使用PHPExcel,效果挺好的,但是其中还有很多函数不知道具体作用,写出来保留一下,方便下次学习。
if(is_uploaded_file($_FILES['file']['tmp_name'])){
            //接收前台文件
            $ex = $_FILES['file'];
            $file_name = $ex['name'];//文件名
            $file_size = $ex['size'];//文件大小
            $file_tmp = $ex['tmp_name'];//文件临时存储的位置
            $file_type= $ex['type'];//文件类型
            $file_ext=substr($ex['name'], stripos($ex['name'], '.'));//文件后缀
			//这部分是文件转储保留
            $path = 'uploadfile./' . basename( $_FILES["file"]["name"]);//设置移动路径
            move_uploaded_file($ex['tmp_name'], $path);
			
			//t从这里开始对excel进行处理,先是获取一些参数
            $file =  $path;
            $objPHPExcel = PHPExcel_IOFactory::load($file); //获取sheet表格数目
            $sheetCount = $objPHPExcel->getSheetCount(); //默认选中sheet0表
            $sheetSelected = 0;
            $objPHPExcel->setActiveSheetIndex($sheetSelected);
            $rowCount = $objPHPExcel->getActiveSheet()->getHighestRow(); //获取表格行数
            $columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn();//获取表格列数
            $length = strlen($columnCount);
            $dataArr = array();
            $end = substr($columnCount,-1);//获取最后一列

			//数据最后都存储到了$dataArr中
            for ($row = 2; $row <= $rowCount; $row++) {
                    //列数循环 , 列数是以A列开始
                    for ($n = ord('A'); $n <= ord($columnCount); $n++) {
                        $column = chr($n);
                        $dataArr[$row][$column] = $objPHPExcel->getActiveSheet()->getCell($column . $row)->getValue();
                    }
                }
            
            //这里是逐行插入数据库
            $name = 'xbm';
            for ($n = 2; $n <= $rowCount; $n++) {
                    $data = [$name.'_id'=>$dataArr[$n]['B'],//学号
                             $name.'_name' => $dataArr[$n]['C']
                    ];
                    $insert = Db::name($name.'_lgb')->insert($data);
            }
      }```

标签:name,row,excel,dataArr,tp6,ex,file,php,objPHPExcel
来源: https://blog.csdn.net/weixin_43227482/article/details/120208969

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有