2016-11-25 12 views
3

私はカラム名になる私のExcel最初のカラムを取得したいと思います。laravel excelヘッダーとmaatwebsiteを取得

私はこのコード

Excel::load($request->file, function ($reader) use($request) { 

$torarray=$reader->toArray(); 
      $line0 = $torarray[0]; 
      $headers = array_keys($line0); 
      $excel_header=$headers; 
     }); 

時にはそれが動作しますが、いくつかの時間は動作しませんを使用しています。いくつかのファイルで作業していないとき、私はその下に書いて動作します。

$torarray=$reader->toArray(); 
      $line0 = $torarray[0][0]; 
      $headers = array_keys($line0); 
      $excel_header=$headers; 
     }); 

私は正しい解決策を理解できません。

答えて

1

これを試してみてください:

/** 
* @param \SplFileInfo $file 
* 
* @return Array 
*/ 
public function run(SplFileInfo $file) 
{ 
    $excelFile = Excel::load($file); 

    $excelData = $excelFile->all(); 

    return (($excelData->first())->keys())->toArray(); 
} 
2

は、マフムード・zalt

@ありがとうちょうど私がLaravel 5.5でそれを使用する方法共有したいと思った:

$reader = Excel::load(storage_path() . '/uploads/tracking-number/' . $fileName)->get(); 
$headerRow = $reader->first()->keys()->toArray(); 

JSON

["date","reference_no","tracking_notrace_webhttpwww.17track.com_for_eub_and_httpwww.cacesapostal.com_for_swiss_post","destination_country","receiver","tel","state","city","post_code","address","weightkg","quantity","valueusd","description","parcelquantity",0] 

var_export

array (
    0 => 'date', 
    1 => 'reference_no', 
    2 => 'tracking_notrace_webhttpwww.17track.com_for_eub_and_httpwww.cacesapostal.com_for_swiss_post', 
    3 => 'destination_country', 
    4 => 'receiver', 
    5 => 'tel', 
    6 => 'state', 
    7 => 'city', 
    8 => 'post_code', 
    9 => 'address', 
    10 => 'weightkg', 
    11 => 'quantity', 
    12 => 'valueusd', 
    13 => 'description', 
    14 => 'parcelquantity', 
    15 => 0, 
) 

print_r

Array 
(
    [0] => date 
    [1] => reference_no 
    [2] => tracking_notrace_webhttpwww.17track.com_for_eub_and_httpwww.cacesapostal.com_for_swiss_post 
    [3] => destination_country 
    [4] => receiver 
    [5] => tel 
    [6] => state 
    [7] => city 
    [8] => post_code 
    [9] => address 
    [10] => weightkg 
    [11] => quantity 
    [12] => valueusd 
    [13] => description 
    [14] => parcelquantity 
    [15] => 0 
) 
1

このコードは、私の仕事:

$results = Excel::selectSheetsByIndex(0)->load($file)->get(); 
echo "<pre>"; 
var_dump($results->getHeading()); 
echo "</pre>"; 
関連する問題