2015-03-31 42 views
3

對於學校項目,我必須從用戶上傳的Excel文件中收集數據。我正在使用Symfony2並安裝了我在knpbundles上找到的一個名爲ExcelBundle的包。我讀了一個從Excel文件中收集數據的方法,我應該使用我的phpExcel對象的createWriter方法。這就是我所做的,如下所示。如何使用symfony2 excelbundle從excel文件中檢索數據?

public function addContactsFromExcelAction(Request $request) { 
    $uploadDir = '/var/www'.$request->getBasePath().'/uploads/'; 
    //die(var_dump($uploadDir)); 
    $file = $request->files->get('fichierExcel'); 
    $fileName = $file->getClientOriginalName(); 
    $fileSaved = $file->move($uploadDir,$fileName); 
    $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject($uploadDir.$fileName); 
    $writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel2007'); 

} 

但事實上,我真的不知道如何使用作家從我的Excel數據表的單元格中收集數據。

請問任何人都可以給我訣竅來實現我的目標嗎?

回答

7

可以遍歷如該實施例:

public function xlsAction() 
{ 
    $filenames = "your-file-name"; 
    $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject($filenames); 

    foreach ($phpExcelObject ->getWorksheetIterator() as $worksheet) { 
     echo 'Worksheet - ' , $worksheet->getTitle(); 
     foreach ($worksheet->getRowIterator() as $row) { 
      echo ' Row number - ' , $row->getRowIndex(); 
      $cellIterator = $row->getCellIterator(); 
      $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set 
      foreach ($cellIterator as $cell) { 
       if (!is_null($cell)) { 
        echo '  Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue(); 
       } 
      } 
    } 
    } 
} 

更多樣品here