PHPExcel - 动态检查一行中的列

PHPExcel - dynamically check columns in a row

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

图片:

我需要动态检查有多少语言环境(按列名),因为它可能只有一列或 5/6 列。

如何设置?

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


dump($activeSheet);die;

首先,您可以使用 PhpSpreadsheet 加载 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"