public function createExcelFile($file_name) { $this->init(); //Add some headers $this->objPHPExcel->getProperties()->setCreator("Yupe! UnnamedTeam")->setLastModifiedBy("Yupe! UnnamedTeam")->setTitle("БКТ. Прайс-лист товаров от " . Yii::app()->dateFormatter->format('dd.mm.yyyy', time()))->setSubject("Office 2007 XLSX Test Document")->setKeywords("БКТ прайс-лист")->setCategory("БКТ"); //Rename worksheet $this->activeList->setTitle('Прайс-лист'); //Add some header data $this->activeList->setCellValue('A1', 'Прайс-лист')->setCellValue('A3', 'ООО "БумКанцТорг"')->setCellValue('A4', 'Адрес: 460009, Оренбургская обл, Оренбург, Пролетарская, дом № 135, тел.: (3532) 56-17-62')->setCellValue('A5', 'В валютах цен.')->setCellValue('A6', 'Цены указаны на ' . Yii::app()->dateFormatter->format('dd.mm.yyyy', time())); //Create table header $this->activeList->getColumnDimension('A')->setWidth(75); $this->activeList->getColumnDimension('B')->setWidth(20); $this->activeList->getColumnDimension('C')->setWidth(15); $this->activeList->mergeCells('A9:A10')->setCellValue('A9', 'Ценовая группа/ Номенклатура/ Характеристика')->mergeCells('B9:B10')->setCellValue('B9', 'Номенклатура.Артикул')->mergeCells('C9:D9')->setCellValue('C9', 'Розничные')->setCellValue('C10', 'Цены')->setCellValue('D10', 'Ед.'); //Меняем активную клетку на 11, все остальное было шапкой $this->activeRow = 11; //Create categories and products //получаем массив всех категорий в виде дерева $data = StoreCategory::model()->getMenuList(10); if (!$this->createCatalogTree($data)) { throw new CHttpException(400, Yii::t('Exchange1cModule.main', "Произошла ошибка во время заполнения листа продуктами")); } if (!$this->stylingSheet()) { throw new CHttpException(400, Yii::t('Exchange1cModule.main', "Произошла ошибка во время выполнения функции декорирования листа")); } $this->objPHPExcel->setActiveSheetIndex(0); //Write in file $objWriter = PHPExcel_IOFactory::createWriter($this->objPHPExcel, 'Excel2007'); $objWriter->save(Yii::getPathOfAlias('public') . '/uploads/files/store/' . $file_name); return true; }