wake-up-neo.net

Einstellen 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 funktionieren würde? Wenn nicht, müssen wir response.setContentType() für jeden dieser MIME-Typen einzeln einstellen?

Außerdem verwenden wir das Streaming von Dateien 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 wird der Name des Servlets, das die Datei darstellt, als Standardname angezeigt.

336
Subramanian

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

In Bezug auf den Namen des Dokuments sollten Sie in der Antwort den folgenden Header festlegen:

header('Content-Disposition: attachment; filename="name_of_Excel_file.xls"');
327
jbochi

Ich wecke hier einen alten Thread auf, habe aber den Drang verspürt, das "neue" XLSX-Format hinzuzufügen.

Laut http://filext.com/file-extension/XLSX lautet die Erweiterung für .xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Es könnte eine gute Idee sein, es bei der Suche nach MIME-Typen einzuschließen!

153
Karlis Rode

Sie sollten immer den MIME-Typ verwenden, wenn Sie eine Excel-Datei im Format xlsx bereitstellen möchten

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 
37

Ich habe den MIME-Typ aus .NET-Code wie folgt festgelegt:

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

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

vnd.openxmlformats-officedocument.spreadsheetml.sheet
6

Verwenden Sie für . Xls den folgenden Inhaltstyp

application/vnd.ms-Excel

Für Excel 2007 Version und höher .xlsx Dateiformat

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
3
Dulith De Costa

Ich benutze EPPlus , um eine Excel-Datei im XLSX-Format (OpenXML-Format) zu generieren. Zum Senden dieser Excel-Datei als Anhang in einer E-Mail verwende ich den folgenden MIME-Typ und es funktioniert einwandfrei mit EPPlus-generierten Dateien und wird ordnungsgemäß in der Vorschau des MS-Outlook-E-Mail-Clients geöffnet.

string mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
System.Net.Mime.ContentType contentType = null;
if (mimeType?.Length > 0)
{
    contentType = new System.Net.Mime.ContentType(mimeType);
}
1
Vishwajit G

Für alle, die nach der Verwendung aller in der Frage aufgelisteten möglichen MIME-Typen immer noch damit stolpern:

Ich habe festgestellt, dass iMacs dazu neigen, auch einen MIME-Typ von "text/xls" für XLS-Excel-Dateien auszugeben. Ich hoffe, dies hilft.

0
be_es