Mysql
 sql >> база данни >  >> RDS >> Mysql

Експортиране на записи в excel файл

Няма нужда да изтегляте външни библиотеки – всичко, което ви трябва за това, вече е вградено в PHP.

Стъпки:

  1. Направете заявка в php, за да получите редовете, които искате да изведете
    Можете да използвате SELECT * FROM table WHERE id IN (1,2,...)
  2. Използвайте mysql_fetch_array() или mysql_fetch_assoc() за да получите редовете един по един
  3. Използвайте fputcsv() да ги изведете във файл, завършващ на csv - това ще избяга правилно от вашите данни

http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php

Excel ще може да прочете файла.

Отменете настройките по подразбиране за fputcsv да използвате табулатори за разделители и Excel ще има още по-лесно време за четене на файла. Ако използвате запетаи (по подразбиране), може да се наложи да изберете запетаи като разделител при импортиране на Excel.

Ето работещ пример, ако приемем, че вече имате настроени редове:

$rows; // predefined
$filename = 'webdata_' . date('Ymd') . '.csv';

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/octet-stream"); 
// that indicates it is binary so the OS won't mess with the filename
// should work for all attachments, not just excel

$out = fopen("php://output", 'w');  // write directly to php output, not to a file
foreach($rows as $row)
{
  fputcsv($out, $row);
}
fclose($out);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на Java за установяване на сигурна връзка с MySQL Amazon RDS (SSL/TLS)

  2. Опитвам се да мигрирам локален mysql сървър към AWS

  3. Изберете ..... където .... ИЛИ

  4. SQL ПОРЪЧАЙ ПО множество колони

  5. ГРЕШКА 1142 (42000):командата ALTER е отказана