445 Stimmen

Einstellung des Mime-Typs für ein Excel-Dokument

MS Excel hat die folgenden beobachteten MIME-Typen:

  • application/vnd.ms-excel (offiziell)
  • application/msexcel
  • application/x-msexcel
  • application/x-ms-excel
  • application/x-excel
  • application/x-dos_ms_excel
  • application/xls
  • application/x-xls
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (xlsx)

Gibt es einen Typ, der für alle Versionen geeignet ist? Wenn nicht, müssen wir die response.setContentType() mit jedem dieser Mime-Typen einzeln?

Außerdem verwenden wir Dateistreaming in unserer Anwendung, um Dokumente anzuzeigen (nicht nur Excel - jede Art von Dokument). Wie können wir dabei den Dateinamen beibehalten, wenn der Benutzer die Datei speichern möchte? Derzeit erscheint der Name des Servlets, das die Datei wiedergibt, als Standardname.

411voto

jbochi Punkte 27683

Ich glaube, der Standard MIME-Typ für Excel Dateien ist application/vnd.ms-excel .

Was den Namen des Dokuments betrifft, so sollten Sie in der Antwort folgende Kopfzeile setzen:

header('Content-Disposition: attachment; filename="name_of_excel_file.xls"');

228voto

Karlis Rode Punkte 3503

Ich sehe, dass ich hier ein altes Thema aufwecke, aber ich hatte das Bedürfnis, das "neue" .xlsx-Format hinzuzufügen.

Selon http://filext.com/file-extension/XLSX die Erweiterung für .xlsx ist application/vnd.openxmlformats-officedocument.spreadsheetml.sheet . Es könnte eine gute Idee sein, sie bei der Prüfung auf Mime-Typen einzubeziehen!

9voto

Ich habe den MIME-Typ im .NET-Code wie folgt eingestellt -

File(generatedFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

Meine Anwendung generiert Excel mit OpenXML SDK. Dieser MIME-Typ funktioniert -

vnd.openxmlformats-officedocument.spreadsheetml.sheet

1voto

be_es Punkte 31

Für alle, die nach der Verwendung aller in der Frage aufgeführten möglichen MIME-Typen immer noch nicht weiterkommen:

Ich habe festgestellt, dass iMacs dazu neigen, auch für XLS-Excel-Dateien den MIME-Typ "text/xls" zu verwenden, ich hoffe, das hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X