2016-05-11 2 views
3

Я использовал библиотеку excel для maatwebsite для импорта и экспорта данных. Я хочу установить ячейки мудрым данные как.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. но проблема в этой функции добавляет значение raw wise. Я хочу добавить ячейку значений.

Как в первую очередь я, добавив значение 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' 
    ) 
) 

Как я могу ввести этот массив в файл excel. если мне нужно изменить в массиве, пожалуйста, предложите мне. Я могу изменить свой массив.

Благодаря

ответ

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. Если вы не хотите использовать этот пакет, вы также можете сделать это через основную библиотеку php.

+0

Извините, что этот код не работает для меня. просто предположим, что у меня есть 10 мобильных номеров и 5 адресов электронной почты и 3 имени, теперь ваша функция работает без каких-либо ошибок? –

+0

, конечно, эта функция работает нормально, потому что я создал эту функцию до 2 года назад и продолжаю использовать эту функцию до сих пор. Если эта функция не работает для вас, вам необходимо проверить свой код. Если вы не можете это сделать, отправьте код и базу данных на мой адрес электронной почты. –

+0

, пожалуйста, сохраните мой массив в '$ data ['usertotal']', а затем проверьте, что я получил ошибку. –

1

Не уверен, что, если он затрагивает вашу проблему, но видел название некоторые люди пытаются просто установить значение одной ячейки может оказаться здесь в любом случае :)

Это не документировано, но глядя в исходный код я нашел можно:

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

или

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

немного не по теме, но я надеюсь, что это помогает некоторым людям так или иначе.

 Смежные вопросы

  • Нет связанных вопросов^_^