PHPExcel读取特定列

PHPExcel reading specific columns

我正在使用 PHPExcel 读取 xls 文件,这是我的代码:

require('PHPExcel/PHPExcel.php'); 
$Reader = PHPExcel_IOFactory::createReaderForFile($xls_path);
$Reader->setReadDataOnly(true);
$objXLS = $Reader->load($xls_path);
$data = $objXLS->getActiveSheet()->toArray(null, true, true, true);
$objXLS->disconnectWorksheets();
unset($objXLS);
var_dump($data);

输出是:

Array
        (
            [A] => 1001
            [B] => XXX
            [C] => AAZ878
            [D] => 19233
            [E] => pppp
            [F] => oooo
            [G] => 276
            [H] => Y
        )

如何在我的代码中指定只读取 A、B 和 H 列,以便输出为

Array
        (
            [A] => 1001
            [B] => XXX
            [H] => Y
        )

谢谢

你不能 toArray();但是您随后可以轻松地执行 array_walk(),并使用回调将每个子数组修改为您想要的那些列。类似于:

$columns = array_fill_keys(['A', 'B', 'H'], true);
array_walk(
    $data,
    function(&$row) use ($columns) {
        $row = array_intersect_key($row, $columns);
    }
);