type - Configuración del tipo mime para el documento excel
response setcontenttype xlsx (6)
MS Excel tiene los siguientes tipos de MIME observados:
-
application/vnd.ms-excel
(oficial) -
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)
¿Hay algún tipo que funcione para todas las versiones? Si no es así, ¿necesitamos configurar response.setContentType()
con cada uno de estos tipos mime de forma individual?
Además, utilizamos la transmisión de archivos en nuestra aplicación para mostrar documentos (no solo sobresalir, cualquier tipo de documento). Al hacerlo, ¿cómo podemos conservar el nombre de archivo si el usuario opta por guardar el archivo? Actualmente, el nombre del servlet que representa el archivo aparece como el nombre predeterminado.
Al ver un hilo viejo aquí veo, pero sentí la necesidad de agregar el "nuevo" formato .xlsx.
Según http://filext.com/file-extension/XLSX la extensión para .xlsx es application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
. ¡Podría ser una buena idea incluirlo al verificar los tipos de mimo!
Estaba configurando el tipo MIME desde el código .NET como se muestra a continuación:
File(generatedFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
Mi aplicación genera excel usando OpenXML SDK. Este tipo MIME funcionó -
vnd.openxmlformats-officedocument.spreadsheetml.sheet
Estoy utilizando EPPlus para generar el archivo excel .xlsx (basado en formato OpenXML). Para enviar este archivo de Excel como archivo adjunto en el correo electrónico, utilizo el siguiente tipo MIME y funciona bien con el archivo generado por EPPlus y se abre correctamente en la vista previa del cliente de correo de MS-Outlook.
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);
}
Para cualquier persona que todavía esté tropezando con esto después de usar todos los posibles tipos MIME enumerados en la pregunta:
Descubrí que los iMacs tienden a lanzar también un tipo MIME de "texto / xls" para archivos de Excel XLS, espero que esto ayude.
Siempre debe usar el tipo MIME a continuación si desea servir el archivo de Excel en formato xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet