PHPEXCel只读一个表到Array

时间:2015-01-29 08:35:29

标签: php phpexcel

我使用PHPExcel只读取excel表中的值 如果我使用这个代码,它运行正常,没有任何问题:

  function ReadUploadedFile($Uploadedfile,$fileExtension)
    {
            class MyReadFilter implements PHPExcel_Reader_IReadFilter
            {
                public function readCell($column, $row, $worksheetName = '')
                 {
                    // Read rows 1 to 7 and columns A to E only
                    if ($row>=1 && $row<=100) {
                        if (in_array($column,range('A','Z'))) {
                            return true;
                        }
                    }
                    return false;
                }
            }
}

        $filterSubset = new MyReadFilter();
        $inputFileType="";

        $inputFileType = 'Excel5';
        $objReader = PHPExcel_IOFactory::createReader($inputFileType);
        $objReader->setReadFilter($filterSubset);
        $objReader->setReadDataOnly(true);
        $objPHPExcel = $objReader->load('myExcelsheet.xls');
        $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
  

$ sheetData现在是一个数组,我可以毫无问题地使用它。

如果我有很多工作表,我需要只指定一个,根据PHPEXCEL的文档,他们说要使用setLoadSheetsOnly()

我尝试代码打击,但它不起作用。

$inputFileType = 'Excel2007';   
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadFilter($filterSubset);
$objReader->setReadDataOnly(true);
$objReader->setLoadSheetsOnly("Summary"); //my worksheet name is Summary
$objPHPExcel = $objReader->load('myExcelsheet.xlsx');

那么我应该在上面的行之后写什么来将这个对象转换为Array 我试试这个

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

但它会出现此错误

  

在非对象

上调用成员函数cellExists()

当我尝试这个

$sheetData = $objPHPExcel->toArray(null,true,true,true);
  

调用未定义的方法PHPExcel :: toArray()

1 个答案:

答案 0 :(得分:0)

为我工作。

我正在使用: rangeToArray();

“ phpoffice / phpspreadsheet”:“ ^ 1.3”

<input type="hidden" name="csrfToken" value="whatever-that-is"> 

enter image description here