¿Cuál es el tipo MIME de los archivos .xlsx?
El tipo MIME (tipo de medio) de los archivos de Microsoft Excel con la extensión .xlsx es application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Es un archivo ZIP de XML, ya comprimido. Sírvelo con este tipo exacto para que los navegadores conserven la extensión .xlsx al descargarlo.
Cabecera Content-Type
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8
Los tipos basados en texto deberían incluir un charset para que el navegador decodifique bien los caracteres.
Configuración del servidor
| Servidor | Configuración |
|---|---|
Nginx (mime.types o types {}) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; |
Apache (.htaccess) | AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx |
IIS (web.config) | <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
| Node.js / Express | res.type('xlsx') o res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8') |
| Amazon S3 | Establece Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet en el objeto (metadatos), o pasa --content-type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet a aws s3 cp |
¿Deben comprimirse los archivos .xlsx?
No. Los archivos de Microsoft Excel ya están comprimidos internamente, así que gzip o Brotli desperdiciarían CPU y apenas reducirían el tamaño, o incluso podrían aumentarlo. Deja application/vnd.openxmlformats-officedocument.spreadsheetml.sheet fuera de tu configuración de compresión.
Por qué importa el tipo MIME
Los navegadores deciden qué hacer con una respuesta (mostrarla, ejecutarla, reproducirla o descargarla) según la cabecera Content-Type, no según la extensión del archivo. Con X-Content-Type-Options: nosniff, un tipo incorrecto hace que las hojas de estilo y los scripts se bloqueen directamente. En las subidas de archivos, nunca confíes en el tipo que envía el cliente; verifica el contenido del archivo (sus magic bytes) en el servidor.
Búsqueda de tipos MIME
Busca todas las extensiones de archivo y tipos MIME comunes, con cabeceras Content-Type listas para copiar.
Preguntas frecuentes
¿Cuál es el tipo MIME de .xlsx?
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.¿Cómo configuro el Content-Type de .xlsx en Nginx?
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; aparezca en el bloque types (normalmente en /etc/nginx/mime.types) y recarga Nginx.