为什么PHPExcel输入到Z列就只会读A列的内容?

为什么PHPExcel输入到Z列就只会读A列的内容?

//上传Excel
    public function dataexcel(Request $request){
        $excel = new Excel();
        $file = $request->file('excel');
        if(!$file){
          $this->error('没有上传Excel');
          }
          $info = $file->move(ROOT_PATH.'UploadFiles/');
          if($info){
            $savename = $info->getSaveName();
            $shuju = Excel::reader(ROOT_PATH.'UploadFiles/'.$savename);
            $allshuju = array_slice($shuju,1);
        }else{
            // 上传失败获取错误信息
            echo $file->getError();
        }
        dump($allshuju);
    }
static function reader($file) {

        if (self::_getExt($file) == 'xls') {
            import("Tools.Excel.PHPExcel.Reader.Excel5");
            $PHPReader = new \PHPExcel_Reader_Excel5();
        } elseif (self::_getExt($file) == 'xlsx') {
            import("Tools.Excel.PHPExcel.Reader.Excel2007");
            $PHPReader = new \PHPExcel_Reader_Excel2007();
        } else {
            return '路径出错';
        }

        $PHPExcel     = $PHPReader->load($file);
        $currentSheet = $PHPExcel->getSheet(0);
        $allColumn    = $currentSheet->getHighestColumn();
        $allRow       = $currentSheet->getHighestRow();
        for($currentRow = 1; $currentRow <= $allRow; $currentRow++){
            for($currentColumn='A'; $currentColumn <= $allColumn; $currentColumn++){
                $address = $currentColumn.$currentRow;
                $arr[$currentRow][$currentColumn] = $currentSheet->getCell($address)->getValue();
            }
        }
        return $arr;
    }

还有一个很奇怪的现象一输到Y列他就会把空的东西都读了出来
图片描述

这个是输入到Z列
图片描述

这是没输入X列
图片描述

阅读 2.7k
1 个回答

自己已经解决!

static function reader($file) {

        if (self::_getExt($file) == 'xls') {
            import("Tools.Excel.PHPExcel.Reader.Excel5");
            $PHPReader = new \PHPExcel_Reader_Excel5();
        } elseif (self::_getExt($file) == 'xlsx') {
            import("Tools.Excel.PHPExcel.Reader.Excel2007");
            $PHPReader = new \PHPExcel_Reader_Excel2007();
        } else {
            return '路径出错';
        }

        $PHPExcel     = $PHPReader->load($file);
        $currentSheet = $PHPExcel->getSheet(0);
        $allColumn    = $currentSheet->getHighestColumn();
        $allRow       = $currentSheet->getHighestRow();
        $allColumn++;
        //$allRow变量是有多少行
        for($b = 1;$b < $allRow; $b++){
            //$allColumn变量是有多少列
            for($i='A'; $i!=$allColumn; $i++){
                $address = $i.$b;
                $arr[$b][$i] = $currentSheet->getCell($address)->getValue();
            }
        }
        return $arr;
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题