/** * Устанавливает заголовок первой страницы * * @param PHPExcel $objPHPExcel * @param array $reportData */ protected function setHeader(PHPExcel $objPHPExcel, array &$reportData) { $objPHPExcel->getActiveSheet()->setTitle('Отчёт'); $activeSheet = $objPHPExcel->setActiveSheetIndex(0); $activeSheet->setCellValue('A4', 'Партнерская площадка:')->setCellValue('E4', $this->platform->server)->setCellValue('A5', 'Период отчета по трафику:')->setCellValue('E5', date('d.m.Y', strtotime($this->dateFrom)) . '-' . date('d.m.Y', strtotime($this->dateTo)))->setCellValue('A6', 'Количество переходов на момент отчета(по периоду):')->setCellValue('E6', $reportData['total']['clicks'])->setCellValue('A7', 'Ставка за переход::')->setCellValue('E7', $reportData['total']['cost'] . ' ' . PlatformsCpc::getCurrency($this->platform->currency))->setCellValue('A8', 'Выплаты за трафик:')->setCellValue('E8', $reportData['total']['price'] . ' ' . PlatformsCpc::getCurrency($this->platform->currency)); $activeSheet->getStyle('E6:E8')->applyFromArray(array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb' => 'd7e4bc')), 'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER))); }
/** * Добавляет таблицу со списком * * @param PHPExcel $objPHPExcel * @param array $reportData */ protected function addDataTable(PHPExcel $objPHPExcel, array $reportData) { $activeSheet = $objPHPExcel->getActiveSheet(); $rowc = 9; foreach ($reportData['rows'] as $row) { $activeSheet->setCellValue('A' . $rowc, $row['platform_name'])->setCellValue('B' . $rowc, $row['shows'])->setCellValue('C' . $rowc, $row['clicks'])->setCellValue('D' . $rowc, $row['ctr'])->setCellValue('E' . $rowc, $row['clickfraud'])->setCellValue('F' . $rowc, $row['price'])->setCellValue('G' . $rowc, PlatformsCpc::getCurrency($row['currency'])); ++$rowc; } $this->addTableTotal($activeSheet, $reportData, $rowc); $this->formatTable($activeSheet, 'A', 8, 'G', $rowc); $activeSheet->getStyle('E9:F' . $rowc)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00); $activeSheet->getColumnDimension('A')->setWidth(12.33 + 0.83); $activeSheet->getColumnDimension('B')->setWidth(14 + 0.83); $activeSheet->getColumnDimension('C')->setWidth(12.17 + 0.83); $activeSheet->getColumnDimension('D')->setWidth(10.5 + 0.83); $activeSheet->getColumnDimension('E')->setWidth(12.5 + 0.83); $activeSheet->getColumnDimension('F')->setWidth(11.5 + 0.83); $activeSheet->getColumnDimension('G')->setWidth(7.17 + 0.83); }