Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel-动态检查行中的列_Php_Symfony_Phpexcel_Symfony 3.4 - Fatal编程技术网

PHPExcel-动态检查行中的列

PHPExcel-动态检查行中的列,php,symfony,phpexcel,symfony-3.4,Php,Symfony,Phpexcel,Symfony 3.4,我有一个xlsx文件,其中第一行有: 图片: 我需要动态检查有多少区域设置(按列名),因为可能只有一列或5/6列 如何设置 $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject($filePath); $activeSheet = $phpExcelObject->getActiveSheet()->rangeToArray('B1:G1'); dump($activeSheet);die; 首

我有一个xlsx文件,其中第一行有:

图片:

我需要动态检查有多少区域设置(按列名),因为可能只有一列或5/6列

如何设置

$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject($filePath);
$activeSheet = $phpExcelObject->getActiveSheet()->rangeToArray('B1:G1');


dump($activeSheet);die;
首先,您可以使用加载Excel文件

下面是计算第一行键的示例代码:

    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\IOFactory;
    $reader = new \PhpOffice\PhpSpreadsheet\Reader\xlsx();

    $spreadsheet = $reader->load($filePath);
    $sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);

    $firstRow = $sheetData[0];

    $cnt = 0;

    foreach ($firstRow as $value) {
        if($value)
            $cnt++;
    }
    //because of first column
    $cnt--;
最后一行是因为您的第一列“key”

首先,您可以用于加载Excel文件

下面是计算第一行键的示例代码:

    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\IOFactory;
    $reader = new \PhpOffice\PhpSpreadsheet\Reader\xlsx();

    $spreadsheet = $reader->load($filePath);
    $sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);

    $firstRow = $sheetData[0];

    $cnt = 0;

    foreach ($firstRow as $value) {
        if($value)
            $cnt++;
    }
    //because of first column
    $cnt--;

最后一行是因为您的第一列“key”

谢谢您的重播。这部分工作正常,但我只需要检索数据所在的第一行列,而不是计算空列@BehzadGhanadiI编辑了我的代码,现在我检查了第一行的每一列您是一个图例。多谢各位@BehzadGhanadiAnd如果不太麻烦的话。。。如何获取每个已计数单元格的数组值@感谢您的重播。这部分工作正常,但我只需要检索数据所在的第一行列,而不是计算空列@BehzadGhanadiI编辑了我的代码,现在我检查了第一行的每一列您是一个图例。多谢各位@BehzadGhanadiAnd如果不太麻烦的话。。。如何获取每个已计数单元格的数组值@贝扎德加纳迪