Создаём *.xls файл в Drupal 7

Мне необходимо было генерировать exel-файл из ранее хранимых данных и сохранять на сервере. При этом это должно было срабатывать по сабмиту.
Эту тему можно развить... Допустим нужно записывать данные из заполненной формы в файл.

Для этого качаем и устанавливаем PHPExcel. После чего пишем пару функций.

function my_site_form_alter(&$form, &$form_state, $form_id) {
  if($form_id == 'my_Form') {
    $form['#submit'][] = 'export_to_xls';
  }
}

Функция экспорта данных в xls:

function export_to_xls($form, &$form_state){
  module_load_include('inc', 'phpexcel');
 
  $file ='public://export.xls';
  $dir = file_stream_wrapper_get_instance_by_uri('public://')->realpath();
  $filename = 'export.xls';
  $path = "$dir/$filename";
  $options = array('format' => 'xls');
 
  //Я удалял файл, и создавал новый. НО можно дописывать в существующий.
  if (file_exists($file)) { 
    unlink($path);
  }
 
  $headers = array('Header1', 'Header2', 'Header3');
 
  $values = get_all_form_value(); //вытянем некие данные и переберём их. 
 
  $data = array();
  foreach ($values as $k=>$value) {
    $data[] = array(
      $submission->value[1],
      $submission->value[2],
      $submission->value[3]
    );
  }
 //Так же можно взять новые данные из формы $form_state['values'] и сформировать массив для phpexcel_export().
  phpexcel_export($headers, $data, $path, $options); 
}