2016-05-11 15 views
3

私はデータのインポートとエクスポートにmaatwebsite excelライブラリを使用しました。 セルのようなデータを設定したいと思います。Laravel Excel設定値をセルにエクスポートしますか?

A   B   C   D   E   F 
1 heading1 heading2 heading3 heading4 heading5 heading6 
2 data1  data2  data3  data4  data5  data6 
3 data12  data22 data32  data42  data52  data62 
4    data23 data33  data43  data53  
5      data34  data44  data54 
6      data35  data45  data54 
7         data46  data56 
8         data47  data57 
9         data48 
10         data49 
11         data50 
12         data51 

私はたくさんのデータをエクスポートしたいが、成功はしない。

以下は私のコードです。

$sheet->fromArray($dataHeading); 

この機能を使用して、Excelファイルに値を追加しました。しかし問題は、この関数は、私は値のセルを賢明に追加したいと思っている値を追加することです。私は付加価値のすべての最初のように

Aに続い B等...

私は賢いセルに値を追加することに私を許可任意の関数を見つけることができません。

どうすればこの問題を解決できますか。私はPHPのようなデータを持っています。

array(
    'heading1' => array(
     'data1','data12' 
    ), 
    'heading2' => array(
     'data2','data22','data23' 
    ), 
    'heading3' => array(
     'data3','data32','data33','data34','data35' 
    ), 
    'heading4' => array(
     'data4','data42','data43','data44','data45','data46','data47','data47','data49','data50','data51' 
    ), 
    'heading5' => array(
     'data5','data52','data53','data54','data56','data57' 
    ), 
    'heading6' => array(
     'data6','data62' 
    ) 
) 

ファイルを出力するにはどうすればよいですか?私がアレイで変更する必要がある場合は、私に提案してください。私の配列を変更することができます。

おかげでこの機能を使用し

答えて

1

とファイル(XLS、CSVなど)の拡張子を変更し、最後で、あなたは正しいデータを使用して必要なファイルを取得します。

public function exportCSV(Request $request){ 
    $data = array(); 
    $messageemail   = ''; 
    $data['usertotal']  = User::select('name','email','mobile')->orderBy('name','ASC')->get(); 
    $data['total-user']  = array(); 
    $percounting   = 0; 
     foreach($data['usertotal'] as $datanew){ 
      $data['total-user'][$percounting]['email']     = $datanew->email; 
      $data['total-user'][$percounting]['mobile']     = $datanew->mobile; 
      $data['total-user'][$percounting]['name']     = $datanew->name; 
      $percounting++; 
     } 
     /* Start Exporting Data */ 
     Excel::create(time(), function($excel) use($data) { 
      $excel->sheet('Sheetname', function($sheet) use($data) { 
      $datasheet = array(); 
      $datasheet[0] = array('email','mobile','fullname'); 
      $i=1; 
      foreach($data['total-user'] as $datanew){ 
         $datasheet[$i] = array(@$datanew['email'], 
         $datanew['mobile'], 
         $datanew['name'], 
        ); 
       $i++; 
      } 
      $sheet->fromArray($datasheet); 
      }); 

     })->export('xls'); 

    return Redirect::back(); 


} 

注:この機能は必須のmaatwebsiteパッケージです。このパッケージを使用したくない場合は、core phpライブラリでもこれを行うことができます。

+0

申し訳ありませんが、このコードは私のために働いていません感謝。ちょうど私が10の携帯電話番号と5つの電子メールアドレスと3つの名前を持っていると仮定すると、あなたの関数は何のエラーも出さずに機能しています –

+0

of-courseこの関数は2年前にこの関数を作成してから今までこの関数を使用し続けているのでうまくいきます。この機能が動作しない場合は、コードをチェックする必要があります。あなたがこれを行うことができない場合は、私の電子メールアドレスにコードとデータベースを送信してください。 –

+0

私の配列を '$ data ['usertotal']'に保存してから、エラーが出るのを確認してください。 –

1

それはあなたの問題に対処する場合は必ず、しかし、見ていないタイトルだけで、単一のセルの値を設定しようとしている何人かの人々は、とにかくここに終わるかもしれない:)

それは文書化が、私が見つけたソースコードには見ていませんビットオフトピック

$sheet->setCellValue('A1', 'some value'); 

または

$sheet->cell('A1', function($cell) { 
    $cell->setValue('some value'); 
}); 

が、私はそれはとにかく何人かの人々の役に立てば幸い:それは可能です。

関連する問題