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);
}
);
我正在使用 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);
}
);