Blame view

src/lib/excelphp.php 2.27 KB
1ea3b987   Administrator   maby first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  <?php

  

  

  class excelphp

  {

      /**

       *

       * @return array

       */

  

      function getData($ar_data,$filename)

      {

  

          error_reporting(E_ALL);

  

  // Create new PHPExcel object

          $objPHPExcel = new PHPExcel();

  // Set properties

          $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")

              ->setLastModifiedBy("Maarten Balliauw")

              ->setTitle("Office 2007 XLSX Test Document")

              ->setSubject("Office 2007 XLSX Test Document")

              ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")

              ->setKeywords("office 2007 openxml php")

              ->setCategory("Test result file");

  // Add some data

          $objPHPExcel->setActiveSheetIndex(0); // устанавливаем номер рабочего документа

          $aSheet = $objPHPExcel->getActiveSheet(); // получаем объект рабочего документа

          $writer_i=1;

          foreach($ar_data as $ar){ // читаем массив

              $j=0;

              foreach($ar as $val){

                  $aSheet->setCellValueByColumnAndRow($j,$writer_i,$val); // записываем данные массива в ячейку

                  $j++;

              }

              $writer_i++;

          }

          $objPHPExcel->getActiveSheet()->setTitle('Home');

  // Set active sheet index to the first sheet, so Excel opens this as the first sheet

          $objPHPExcel->setActiveSheetIndex(0);

  // Save Excel 2007 file

          $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');

          $objWriter->save(STORAGE_PATH.'temp/'.$filename);

          header('Content-Description: File Transfer');

          header('Content-Type: application/octet-stream');

          header('Content-Disposition: attachment; filename=' . $filename);

          header('Content-Transfer-Encoding: binary');

          header('Expires: 0');

          header('Cache-Control: must-revalidate');

          header('Pragma: public');

          // читаем файл и отправляем его пользователю

          readfile(STORAGE_PATH.'temp/'.$filename);

          unlink(STORAGE_PATH.'temp/'.$filename);

          exit;

  

      }

  

      function getErrors()

      {

          return $this->_errors;

      }

  }