PHP: Excel-Datei zum Download anbieten

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Montag, 12. November 2007 um 14:07 Uhr (46/2007 Kalenderwoche)

geändert: Freitag, 07. August 2020 um 13:02 Uhr (32/2020 Kalenderwoche)

Keywords: File datei download excel ms-excel attachment header

Kategorien: Browser, PHP, PhpOffice,

Text:

Eine Excel-Datei wird nicht erst im File-System geschrieben, sondern sofort nach Zusammentragen der Daten zum Download angeboten.


https://stackoverflow.com/questions/22265472/how-to-download-a-fil...


s. a. Große Datei downloaden (als Stream) TechDox: 250

Quellcode:  

function excel_download($excel_inhalt, $dateiname = 'exceldatei.xls')
{    
    //ggfs. den Header manipulieren
    header('Content-Type: application/octet-stream; charset=UTF-8');

    //Das ist fuer IE und Opera:
    header('Content-Type: application/vnd.ms-excel;');

    //Das fuer den Rest der Browserwelt:
    header("Content-type: application/x-msexcel");

    //Und damit es dann auch der letzte kapiert hat:
    header("Content-type: application/msexcel");

    //Jetzt noch Dateiname und Typ festlegen:
    header('Content-Disposition: attachment; filename="'.$dateiname.'"');

    //Fertige Variable ausgeben
    echo utf8_decode($excel_inhalt);

    //oder wenn es eine Datei gibt:
    //readfile(pfad und dateiname);

    exit();//Stopp!!
}//ENDE: function excel_download(...)