public function toexcelAction() { 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->setTitle('Repairs All'); $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); $repairs = new Application_Model_DbTable_Repairs(); $data = $repairs->fetchAll()->toArray(); $i = 2; 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.xls'); // открываем файл в бинарном режиме header("Location: http://{$settings['excel']['site']}/repairs.xls"); }