Выгрузка в excel таблицу из БД на сайте.

ZloyDoktor

Добрый день!
Подскажите как новичку в PHP сделать выгрузку содержимого базы в файл формата .xls

Я нашел решение тут …. https://www.delay-delo.com/content/eksport-dannyh-iz-mysql-v-excel-dva-prostyh-sposoba

Но при выгрузке выгружает в файл еще и ошибки фото ниже…
[​IMG]

что мне поправить в файле обработчика?
Вот код самого файла на тестовой ветке…

PHP:
  1. <?PHP
  2. function cleanData(&$str)
  3. {
  4.     $str = preg_replace(«/t, «\, $str);
  5.     $str = preg_replace(«/r?n, «\, $str);
  6.     if(strstr($str, ‘»‘)) $str = ‘»‘ . str_replace(‘»‘, ‘»»‘, $str) . ‘»‘;
  7. }
  8. // Имя загружаемого файла.
  9. //В моём примере получится otched_20150331.xls
  10. $filename = «zno_» . date(‘Ymd’) . «.xls»;
  11.  
  12. header(«Content-Disposition: attachment; filename=«$filename««);
  13. header(«Content-Type: application/vnd.ms-excel»);
  14.  
  15. // Подключение к бд
  16. define(‘DB_HOST’, ‘localhost’);
  17. define(‘DB_USER’, ‘root’);
  18. define(‘DB_PASS’, »);
  19. define(‘DB_NAME’, ‘table’);
  20.  
  21. $DBConnect = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  22. if ($DBConnect->connect_errno) exit(‘Ошибка подключения к БД’);
  23. //Указать кодировку выводимых данных
  24. $DBConnect->set_charset(‘cp1251’);
  25.  
  26. //Запрос и вывод данных
  27. $flag = false;
  28. $table = «kmp5»;
  29. $result = $DBConnect ->query(«SELECT * FROM $table ORDER  by  id DESC»)
  30. or die(‘Warning!’);
  31.  
  32.  
  33. while(false !== ($row = mysqli_fetch_assoc($result))) {
  34.     if(!$flag) {
  35.         // Вывод заголовков
  36.         echo implode(«t«, array_keys($row)) . «rn«;
  37.         $flag = true;
  38.     }
  39.     //Вывод данных столбцов
  40.     array_walk($row, ‘cleanData’);
  41.     echo implode(«t«, array_values($row)) . «rn«;
  42.     if ($row == null) {
  43.         die(!$row);
  44.     }
  45. }
  46. ?>
 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *