krot

Spout write excel

Nov 3rd, 2017
141
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.             require_once $_SERVER['DOCUMENT_ROOT'].'/lib/Spout/Autoloader/autoload.php';
  3.  
  4.             use Box\Spout\Common\Type;
  5.             use Box\Spout\Writer\Style\Border;
  6.             use Box\Spout\Writer\Style\BorderBuilder;
  7.             use Box\Spout\Writer\Style\Color;
  8.             use Box\Spout\Writer\Style\StyleBuilder;
  9.             use Box\Spout\Writer\WriterFactory;
  10.            
  11. $ID=(int)$ID;
  12.             $border = (new BorderBuilder())
  13.                 ->setBorderBottom(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID)
  14.                 ->setBorderTop(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID)
  15.                 ->setBorderLeft(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID)
  16.                 ->setBorderRight(Color::BLACK, Border::WIDTH_THIN, Border::STYLE_SOLID)
  17.                 ->build();
  18.                
  19.             $style = (new StyleBuilder())
  20.             ->setBorder($border)
  21.            ->setFontBold()
  22.            ->setFontColor(Color::BLACK)
  23.            ->setBackgroundColor(Color::YELLOW)
  24.            ->build();
  25.            ####
  26.              $writer = WriterFactory::create(Type::XLSX);
  27.              
  28.                 if($dir) $writer->openToFile($dir.$filePath.'.xlsx');
  29.                 else $writer->openToBrowser($filePath.'.xlsx');
  30.  
  31.                 $writer->getCurrentSheet()->setName('Price');
  32.                                     $singleRow=array('Производитель',
  33.                                                     'Артикул',
  34.                                                     );
  35.                $writer->addRowWithStyle($singleRow, $style);
  36.            
  37.             $sql='SELECT ';                
  38. $result=$this->sqli->real_query($sql);
  39.     do {
  40.         /* получаем первый результирующий набор */
  41.         if ($result = $this->sqli->use_result()) {
  42.                                 while ($row = $result->fetch_assoc()) {
  43.                                                     $writer->addRow(array(  $row['brand'],
  44.                                                                             $row['art'],
  45.                                                                             ));
  46.                                 }
  47.                                 $result->close();
  48.                                
  49.         }
  50.        
  51.        
  52.         unset($row);
  53.         if (!$this->sqli->more_results())break;
  54.         } while ($this->sqli->next_result());
  55.                       $writer->close();
RAW Paste Data