sql >> Database teknologi >  >> RDS >> Mysql

Eksporter poster i excel-fil

Der er ingen grund til at downloade eksterne biblioteker - alt hvad du behøver til dette er allerede indbygget i PHP.

Trin:

  1. Foretag forespørgsler i php for at få de rækker, du vil udlæse
    Du kan bruge SELECT * FROM table WHERE id IN (1,2,...)
  2. Brug mysql_fetch_array() eller mysql_fetch_assoc() for at få rækkerne én ad gangen
  3. Brug fputcsv() at udlæse dem til en fil, der ender på csv - dette vil korrekt undslippe dine data

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

Excel vil være i stand til at læse filen.

Tilsidesæt standardindstillingerne for fputcsv at bruge faner til afgrænsning og Excel vil have endnu nemmere ved at læse filen. Hvis du bruger kommaer (standardindstillingen), skal du muligvis vælge kommaer som skilletegn ved Excel-import.

Her er et fungerende eksempel, forudsat at du allerede har opsat rækker:

$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. Lagrede procedurer i Ruby on Rails

  2. Hvad er "rowversion" i SQL Server?

  3. Dataopdeling til store applikationer

  4. MYSQL:Bruger - profildetaljer tabelopsætning - bedste praksis