public function toexcelmonthAction() { global $settings; // Подключаем класс для работы с excel require_once 'PHPExcel.php'; // Подключаем класс для вывода данных в формате excel require_once 'PHPExcel/Writer/Excel5.php'; // Создаем объект класса PHPExcel $xls = new PHPExcel(); // Устанавливаем индекс активного листа $xls->setActiveSheetIndex(0); // Получаем активный лист $sheet = $xls->getActiveSheet(); // Подписываем лист $sheet->setCellValue("A1", '№'); $sheet->setCellValue("B1", 'Дата'); $sheet->setCellValue("C1", 'Номер'); $sheet->setCellValue("D1", 'Жалоба'); $sheet->setCellValue("E1", 'Диагноз'); $sheet->setCellValue("F1", 'Работа'); $sheet->setCellValue("G1", 'Запчасти'); $sheet->setCellValue("H1", 'Коментарии'); //меняем цвет заголовка $sheet->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('A1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('B1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('C1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('C1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('D1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('D1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('E1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('F1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('F1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('G1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('G1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('H1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $sheet->getStyle('H1')->getFill()->getStartColor()->setRGB('EEEEEE'); $sheet->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); // автоматическая ширина ячейки $sheet->getColumnDimension('A')->setAutoSize(true); $sheet->getColumnDimension('B')->setAutoSize(true); $sheet->getColumnDimension('C')->setAutoSize(true); $sheet->getColumnDimension('D')->setAutoSize(true); $sheet->getColumnDimension('E')->setAutoSize(true); $sheet->getColumnDimension('F')->setAutoSize(true); $sheet->getColumnDimension('G')->setAutoSize(true); $sheet->getColumnDimension('H')->setAutoSize(true); // формат ячейки текстовый $sheet->getStyle('A')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('C')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('D')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('E')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('F')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('G')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $sheet->getStyle('H')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); if (isset($_SESSION['year']) && isset($_SESSION['month'])) { $year = $_SESSION['year']; $month = $_SESSION['month']; } else { $currend_date = new Zend_Date(); $ss = $currend_date->toArray(); $year = $ss['year']; $month = (int) $ss['month']; if ($month < 10) { $month = "0{$month}"; } $_SESSION['year'] = $year; $_SESSION['month'] = $month; } $date = "{$year}-{$month}"; $repairs = new Application_Model_DbTable_Repairs(); $data = $repairs->statisticRepairs($date); $i = 2; $sheet->setTitle("Repairs {$date}"); foreach ($data as $rows) { $number = $i - 1; $sheet->setCellValue("A{$i}", "{$number}"); $sheet->setCellValue("B{$i}", "{$rows['date']}"); $sheet->setCellValue("C{$i}", "{$rows['number']}"); $sheet->setCellValue("D{$i}", "{$rows['claim']}"); $sheet->setCellValue("E{$i}", "{$rows['diagnos']}"); $sheet->setCellValue("F{$i}", "{$rows['work']}"); $sheet->setCellValue("G{$i}", "{$rows['spares']}"); $sheet->setCellValue("H{$i}", "{$rows['comments']}"); $i++; } // Выводим содержимое файла $objWriter = new PHPExcel_Writer_Excel5($xls); $objWriter->save('repairs_mounth.xls'); // открываем файл в бинарном режиме header("Location: http://{$settings['excel']['site']}/repairs_mounth.xls"); }