Excel2016 года установлен,что не так?
Это если я меняю на Excel5
include("Classes/PHPExcel.php");
if($_GET['do']==1){
$mysqli = mysqli_connect('localhost', 'root', '', 'registration');
if ($mysqli->connect_errno) {
printf("Соединение не удалось: %s\n", $mysqli->connect_error);
exit();
}
$sql= "SELECT * FROM tariff";
if ($result = $mysqli->query($sql)) {
$l=array();
while ($r = $result->fetch_assoc()) {
$l[] = $r;
}
//------------------------------------
//1 Часть: запись в файл
//Создание объекта класса библиотеки
$objPHPExcel = new PHPExcel();
//Указываем страницу, с которой работаем (листы Excel)
$objPHPExcel->setActiveSheetIndex(0);
//Получаем страницу, с которой будем работать
$active_sheet = $objPHPExcel->getActiveSheet();
//Создание новой страницы(пример)
//$objPHPExcel->createSheet();
//Ориентация и размер страницы
// $active_sheet->getPageSetup()
// ->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); // портретная ориентация
$active_sheet->getPageSetup()
->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); // Ориентация страницы
$active_sheet->getPageSetup()
->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); // размер страницы формат А4
//Имя страницы Excel
$active_sheet->setTitle("Заявки");
//Ширина стобцов (указываем букву столбца и ширину в пикселях)
$active_sheet->getColumnDimension('A')->setWidth(20);
$active_sheet->getColumnDimension('B')->setWidth(20);
$active_sheet->getColumnDimension('C')->setWidth(50);
//Объединение ячеек (указываем диапазон объединения ячеек)
$active_sheet->mergeCells('A1:C1');
//Высота строки (также как и ширина столбцов указывается высота строки в пикселях)
$active_sheet->getRowDimension('1')->setRowHeight(30);
//Вставить данные(примеры)
//Нумерация строк начинается с 1, координаты A1 - 0,1
// $active_sheet->setCellValueByColumnAndRow(0, 1, 'Сегодня '.date('d-m-Y'));
$active_sheet->setCellValue('A3', 'id_tariff');
$active_sheet->setCellValue('B3', 'tariff');
$active_sheet->setCellValue('C3', 'summonth');
//Вставка данных из выборки
$start = 4;
$i = 0;
foreach($l as $row_l){
$next = $start + $i;
$active_sheet->setCellValueByColumnAndRow(0, $next, $row_l['id_tariff']);
$active_sheet->setCellValueByColumnAndRow(1, $next, $row_l['tariff']);
$active_sheet->setCellValueByColumnAndRow(2, $next, $row_l['summonth']);
$i++;
};
//Сохраняем файл с помощью PHPExcel_IOFactory и указываем тип Excel
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2016');
//Отправляем заголовки с типом контекста и именем файла
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="simple.xlsx"');
ob_end_clean();
//Отправляем файл
$objWriter->save('php://output');
/* удаление выборки */
$result->free();
}
/* закрытие соединения */
$mysqli->close();
};