sql >> Databáze >  >> RDS >> Mysql

Export záznamů do souboru Excel

Není třeba stahovat externí knihovny – vše, co k tomu potřebujete, je již zabudováno v PHP.

Kroky:

  1. Proveďte dotaz v php, abyste získali řádky, které chcete vytisknout
    Můžete použít SELECT * FROM table WHERE id IN (1,2,...)
  2. Použijte mysql_fetch_array() nebo mysql_fetch_assoc() získat řádky jeden po druhém
  3. Použijte fputcsv() pro jejich výstup do souboru končícího na csv – to správně unikne vašim datům

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

Excel bude schopen číst soubor.

Přepíše výchozí hodnoty pro fputcsv používat tabulátory pro oddělovače a Excel bude mít čtení souboru ještě jednodušší. Pokud používáte čárky (výchozí nastavení), možná budete muset vybrat čárky jako oddělovač při importu do Excelu.

Zde je funkční příklad za předpokladu, že již máte nastavené řádky:

$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. MySQL INSERT SELECT - Duplicitní řádky

  2. jiskra čtení dat z mysql paralelně

  3. Poslední index MySQL řetězce

  4. Analyzujte JSON v MySQL