2016-12-16 76 views
0

我使用PHPExcel讀取一個xls文件,這裏是我的代碼:PHPExcel閱讀特定的列

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 
     ) 

由於

回答

1

你不能用toArray();但你可以很容易地做一個array_walk(),用一個回調函數將每個子數組修改爲你想要的那些列。喜歡的東西:

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

是發揮預期的感謝。 –