主页 M

phpExcel读取大于Z列的excel

2019-01-09 网页编程网 网页编程网
//导入excel内容转换成数组
function import($filePath){
    /*导入phpExcel核心类 */
    include_once 'Classes/PHPExcel.php';
    include_once 'Classes/PHPExcel/Writer/Excel5.php';     // 用于其他低版本xls
    include_once 'Classes/PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式

    //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取
    $reader = new PHPExcel_Reader_Excel2007();
    if(!$reader->canRead($filePath)){
        $reader = new PHPExcel_Reader_Excel5();
        if(!$reader->canRead($filePath)){
            echo 'no Excel';
            return;
        }
    }

    $PHPExcel = $reader->load($filePath); // 载入excel文件
    $sheet = $PHPExcel->getSheet(0); // 读取第一个工作表
    $highestRow = $sheet->getHighestRow(); // 取得总行数
    $highestColumm = $sheet->getHighestColumn(); // 取得总列数
    $end_index = PHPExcel_Cell::columnIndexFromString($highestColumm);//由列名转为列数('AB'->28)

    /** 循环读取每个单元格的数据 */
    $data = array();  //声明数组
    for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始
        $temp = array();
        for ($column = 0; $column <= $end_index; $column++) {//列数是以A列开始
            $col_name = PHPExcel_Cell::stringFromColumnIndex($column);//由列数反转列名(0->'A')
            $temp[] = $sheet->getCell($col_name.$row)->getValue();
        }
        $data[] = $temp;
    }
    return $data;
}

$tmp_file = $_FILES['file']['tmp_name'];
    $file_types = explode(".",$_FILES['file']['name']);
    $file_type = $file_types[count($file_types) - 1];

    /*判别是不是.xls文件,判别是不是excel文件*/
    if(strtolower($file_type ) != "xls" && strtolower($file_type ) != "xlsx"){
        die('不是Excel文件,重新上传');
    }

    /*设置上传路径*/
    $savePath = "Uploads/";
    /*以时间来命名上传的文件*/
    $str = date('Ymdhis');
    $file_name = $str.".".$file_type;

    /*是否上传成功*/
    if(!copy($tmp_file,$savePath.$file_name)){
        die('上传失败');
    }

    $data = import($savePath.$file_name);
阅读原文
阅读 4298
123 显示电脑版