zoukankan      html  css  js  c++  java
  • php上传excel表格并获取数据

    这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。

    一:首先是html部分

    <html>
    <body>
    <form action="upload_file.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" /> 
    <input type="submit" name="submit" value="Submit" />
    </form>
    </body>
    </html>

    二:就是去接收和处理上传的文件了。php部分

    //文件存放的路径
    $save_path = "/upload/"; 

    //文件存放的文件夹
    $save_files = $this->geturl();

    这个是以年月日新建的文件夹,仅供参考。

    //先检查当前文件夹是否存在,如不存在,创建文件夹
    function geturl()
    {
    $year = date('Y');
    $month= date('m');
    $day= date('d');

    $str = $year.$month.$day;
    if(strtoupper(substr(PHP_OS,0,3))=='WIN'){
    $path = getcwd() . "/upload/".$str;
    }else{
    $path = "/mnt/erp/".$str;
    }
    if(!file_exists($path))//判断文件夹是否存在
    {
    mkdir($path);
    }

    //return $path."/";
    return $str."/";
    }

    //这个是上传文件到需要保存的位置,

    if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_path)) {
    $error = "error|上传文件错误.";
    exit(0);
    }

    下面开始获取你上传的excel数据了

    //获取上传表格的数据
    $file_name = $save_path.$file_path;                    //获取上传文件的地址名称
    require_once APPPATH . 'views/IDC/config/PHPExcel.php';       
    require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php';
    require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php';

    $objReader = PHPExcel_IOFactory::createReader('excel2007'); //建立reader对象

    $objPHPExcel = $objReader->load($file_name);
    $sheet = $objPHPExcel->getSheet();
    $highestRow = $sheet->getHighestDataRow(); // 取得总行数

    $highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列数


    //$columns = PHPExcel_Cell::getColumn($highestColumn_num);
    $columns = array('A','B','C','D','E','F','G');

    $arr_result = array();
    $dealer_element = array();

    for ($j = 2; $j <= $highestRow; $j++) {
    for ($k = 0; $k < count($columns); $k++) {
    //读取单元格
    $value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//这个就是获取每个单元格的值

    $value = trim($value);
    if (empty($value)) {
    $value = NULL;
    }
    $dealer_element[$k] = $value;
    //这里可以根据要求,做一些数据的验证
    }

    $arr_result[$j] = $dealer_element;
    }

    echo json_encode($arr_result);

  • 相关阅读:
    UIautomator Python测试
    selenium提供了三种模式的断言:assert,verify,waitfor
    编译标志
    模块级函数
    执行匹配
    反斜杠
    正则表达式
    重复
    字符匹配
    贪婪 vs 不贪婪
  • 原文地址:https://www.cnblogs.com/missphp/p/5830722.html
Copyright © 2011-2022 走看看