本来excel表只有三个值,但是读取的56个值,有53个空值,求解释     ,谢谢大神解释
读取后,返回的值:
array(
      'SKU' => 'AAAA001',
     'SKU' => 'AAAA002',
     'SKU' => 'AAAA003',
  'SKU'  => 
  'SKU'  =>
....'SKU' => )

解决方案 »

  1.   

    private function pullsku_xls ($xls)
        {
            // 引入文件
            require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/Reader/Excel5'));
            $PHPReader = new PHPExcel_Reader_Excel5();
            // 载入文件xls、csv
            $PHPExcel = $PHPReader->load($xls);
            // 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
            $currentSheet = $PHPExcel->getSheet();
            $allRow = $currentSheet->getHighestRow();     // 获取总行数
            // 循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
            for ($currentRow = 0; $currentRow <= $allRow; $currentRow++) {
                // 数据坐标
                $address = 'A'.$currentRow;
                // 读取到的数据,保存到数组$arr中
                $ExlData[$currentRow] = (string)$currentSheet->getCell($address)->getValue();
                //富文本转换字符串
               /* if($cell instanceof PHPExcel_RichText) {
                    $ExlData[$currentRow] = $cell->__toString();
                }*/
            }
            array_splice($ExlData,0,2);
            unlink($xls);
            return $ExlData;
        }
    我想要的是:array(‘AA001’, 'BB001')      
    但是返回的是: array(‘AA001’, 'BB001', ,,,,,,,,,,,,,,,,,)这样的数组
    求解释
      

  2.   

    $ExlData = array_splice($ExlData,0,2);
      

  3.   

    $ExlData = array_splice($ExlData,0,2); 
    这是删除标题和第一列
      

  4.   

    $ExlData = array_slice($ExlData,0,2); 不知道你要做什么,我只能告诉你:仅写一句 array_splice($ExlData,0,2);  是不够的,需要承接处理后的结果
      

  5.   

    估计你execl文件中有空内容的行。
    过滤就可以了。
    private function pullsku_xls ($xls)
        {
            // 引入文件
            require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/Reader/Excel5'));
            $PHPReader = new PHPExcel_Reader_Excel5();
            // 载入文件xls、csv
            $PHPExcel = $PHPReader->load($xls);
            // 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
            $currentSheet = $PHPExcel->getSheet();
            $allRow = $currentSheet->getHighestRow();     // 获取总行数
            // 循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
            for ($currentRow = 0; $currentRow <= $allRow; $currentRow++) {
                // 数据坐标
                $address = 'A'.$currentRow;
                // 读取到的数据,保存到数组$arr中
                $tmp = (string)$currentSheet->getCell($address)->getValue();            if($tmp){
                  $ExlData[] = $tmp;
                }            //富文本转换字符串
               /* if($cell instanceof PHPExcel_RichText) {
                    $ExlData[$currentRow] = $cell->__toString();
                }*/
            }
            array_splice($ExlData,0,2);
            unlink($xls);
            return $ExlData;
        }