Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?UTF-8?Q?J=c3=b6rg_Burzeja?= Newsgroups: de.comp.lang.php Subject: Re: HTTP Content Streaming Date: Wed, 11 Jul 2018 19:56:23 +0200 Lines: 54 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net X+BZBfytxZnLLp3Oeb6MeA65N8KHGu2hOqU80X4hJxrU+gwr5h Cancel-Lock: sha1:+OjWAoSq36FrtY3e4TwxcHIuniw= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.comp.lang.php:4390 Am 11.07.2018 um 12:37 schrieb Karl Pflästerer: >>>> der alte Code für eine Ausgabe als XLS-Datei funktioniert; der neue Code für >>>> eine XLSX-Datei zeigt leider einen Fehler an (Dateiformat oder >>>> Dateierweiterung ungültig). >>>> >>>> Der "Microsoft Office MIME types for HTTP Content Streaming" sollte korrekt >>>> sein: >>>> https://stackoverflow.com/questions/4212861/what-is-a-correct-mime-type-for-docx-pptx-etc >>>> >>>> Hat jemand eine einfache Lösung? >>>> >>>> Danke. >>>> >>>> // ====================================================== >>>> //old code: >>>> header('Content-Type: application/vnd.ms-excel'); >>>> header('Content-Disposition: attachment; filename="test.xls"'); >>>> >>>> // ====================================================== >>>> //new code: >>>> //header("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); >>>> >>>> //header('Content-Disposition: attachment; filename="test.xlsx"'); >>> >>> Wenn das der echte Code ist: Bei header() fehlt "Content-Type:" bei new >>> code >> >> >> Das ist korrekt. >> >> header('Content-Type: >> application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); >> >> Geht aber leider immer noch nicht. > > Ist die übertragene Datei denn eine gültige xlsx Datei? Excel war in > früheren versionen sehr großzügig und hat auch csv Dateien oder HTML > Dokumente interpretiert. Wenn man den (berichtigten) Codeschnipsel meines Ursprungsposts als PHP-Datei speichert und aus einem Projekt öffnet, sieht man mit 'old Code', das automatisch eine neue Excel-Datei erstellt und mit dem Inhalt der im Code enthaltenen HTML-Tabelle geöffnet wird (ich vermute, das meinst Du mit "frühere Excel-Versionen waren in der Interpretation großzügig"). Der 'new Code' mit xlsx öffnet zwar ebenfalls eine Excel-Tabelle, zeigt dann aber einen Fehler an (Dateiformat oder Dateierweiterung ungültig). Scheint wohl als einfachste Lösung nicht auszureichen, den geänderten mimi-Type im Header zu hinterlegen, oder gibt es doch noch eine Möglichkeit?