2016-04-02 54 views
0

我想獲得Excel表格標題。
我有這樣的方法控制:如何在laravel 5.2中獲得Excel表格標題

use Maatwebsite\Excel\Facades\Excel; 



public function importCSVEXCEl() 
    { 

    Excel::load('test.xls', function($reader) { 
     foreach($reader as $sheet) 
     { 

     $temp= $sheet->getTitle(); 
     } 
    }); 
} 

執行後,這種方法讓我錯誤

調用未定義的方法PHPExcel ::的getTitle()

回答

1

根據Issue #316 discussion on Github

如果您只有一個工作表,那麼你不必循環穿過 表。

Excel::load(public_path().$destinationPath.'/'.$name, function($sheet) 
{ 
     // reader methods 
     $sheetTitle = $sheet->getTitle(); 
}); 

要驗證閉包中的注入值確實是一張表,您可以轉儲它並查看該類是否稱爲「RowCollection」。

如果您總是希望遍歷表單,無論如何,您將 必須將import.force_sheets_collection設置爲true。來自同一來源

和第二個建議:

這是我使用,似乎工作

$sheetNames = Excel::load($file)->getSheetNames(); 
+0

怎樣才能改變import.force_sheets_collection。女巫文件應該改變嗎? – paranoid

+0

@paranoid這個設置位於Laravel的'config'文件夾'excel.php'文件的'import'部分。 – KazikM

+0

通過import.force_sheets_collection = true解決 – paranoid