webentwicklung-frage-antwort-db.com.de

PHP Excel-Header

header("Content-Type:   application/vnd.ms-Excel; charset=utf-8");
header("Content-type:   application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment; filename=abc.xsl"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
echo "Some Text"

Hier ist der Code zum Schreiben und Herunterladen von XSL-Dateien mit PHP,
Mein Problem ist, wenn ich Excel-Datei öffne, zeigt MS-Excel-Warnung vor dem Öffnen der Datei an 

Die Datei, die Sie öffnen möchten, hat ein anderes Format als durch die Dateierweiterung angegeben ... Blah blah

Was ist mit PHP Code zu tun, um diese Warnung zu entfernen? Der Inhalt ist richtig geschrieben. 

Ich weiß, das liegt daran, dass der in Datei geschriebene Inhalt TXT-Dateiinhalt ist und die Dateierweiterung falsch ist, d. H. Xls. Lösung?

Bitte schlagen Sie nicht vor, eine Bibliothek zu verwenden.

12
user794624

Sie geben mehrere Content-Type-Header an. application/vnd.ms-Excel ist genug.

Und es gibt auch einige Syntaxfehler. Zum Beenden der Anweisung mit ; in der Echo-Anweisung und falscher Dateinamenerweiterung.

header("Content-Type:   application/vnd.ms-Excel; charset=utf-8");
header("Content-Disposition: attachment; filename=abc.xls");  //File name extension was wrong
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
echo "Some Text"; //no ending ; here
30
Starx

Versuche dies

header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=\"filename.xlsx\"");
header("Cache-Control: max-age=0");
7
safarov

Versuchen Sie einfach, exit; am Ende Ihres PHP - Skripts hinzuzufügen.

0
Petko Doichev