Excel dice que el formato del archivo no coincide con la extensión
8/8/2023

Excel dice que el formato del archivo no coincide con la extensión

La mitad de los archivos .xls exportados por herramientas de informes no son archivos de Excel en absoluto. Cómo saber qué tienes realmente y qué te cuesta cada impostor.

Un sistema te envió por correo report.xls, lo hiciste doble clic y Excel mostró una advertencia: el formato del archivo y la extensión de 'report.xls' no coinciden. Ábrelo de todos modos y o bien funciona o llena la pantalla con marcado. Súbelo al visor de Excel en su lugar — ese interpreta lo que el archivo es en lugar de lo que se llama. XLS, XLSX, CSV, ODS y las variantes de macro, binario y plantilla, hasta 20 MB, se eliminan al cerrar la pestaña.

VISOR DE DOCUMENTOS EXCEL ONLINE XLS XLSX
VISOR DE DOCUMENTOS EXCEL ONLINE XLS XLSX

Una extensión es una afirmación, no un hecho

Nada impide que un programa escriba cualquier secuencia de bytes que desee y nombre el resultado .xls, y muchos lo hacen. Las herramientas de informes, ERP, portales bancarios y paneles de administración ofrecen “Exportar a Excel”, y la forma más barata de crear esa función es generar algo diferente y darle la extensión de Excel, porque Excel normalmente lo abrirá.

Desde Excel 2007 el archivo se verifica antes de abrirse, de ahí proviene la advertencia. No es un mensaje de corrupción. Es Excel diciéndote que el nombre es incorrecto.

Descubriendo qué tienes realmente

Abre el archivo en un editor de texto — Notepad sirve — y observa la primera línea. Cinco cosas explican casi todo.

  • <html, <head> o <table — una tabla HTML con un nombre de hoja de cálculo. Los navegadores y los informes web generan estos constantemente.
  • <?xml — SpreadsheetML, el formato de libro XML que Excel 2003 generó.
  • PK — un archivo ZIP, es decir, un XLSX real (o ODS, o DOCX) con la extensión incorrecta.
  • Binario ilegible que comienza con los bytes D0 CF 11 E0 — un XLS genuino pre-2007. Este es lo que dice ser.
  • Texto legible plano con comas, puntos y comas o tabulaciones entre valores — un archivo de texto delimitado, que es un CSV con el nombre de otro.

Qué cuesta cada impostor

El objetivo de saberlo es que cada uno pierde cosas diferentes.

Una tabla HTML contiene los valores y parte del formato, pero no fórmulas en absoluto. El sistema que exportó calculó los números y escribió las respuestas. No hay nada debajo para recalcular, y no se perdió nada en el tránsito — nunca se escribió.

SpreadsheetML conserva fórmulas y formatos de celda. Lo que no puede contener son gráficos y tablas dinámicas; el formato no tiene forma de almacenarlos, por lo que se eliminaron al escribir el archivo, no al abrirlo.

Un XLSX con nombre incorrecto no pierde nada. Es un libro completo moderno y lo único incorrecto es el nombre de archivo de seis caracteres.

Un archivo de texto delimitado tiene valores y nada más: sin fórmulas, sin formato, sin segunda hoja. Si parece una columna de texto con comas, el separador no era el que tu copia de Excel espera.

Corrigiéndolo, una vez

Para cualquier cosa que necesites conservar, ábrela en Excel pasando la advertencia, luego Archivo, Guardar como, Libro de Excel (.xlsx). Ahora tienes un libro real y la advertencia desaparece para siempre.

Para un XLSX con nombre incorrecto, renómbralo y listo. Renombrar no es convertir y casi nunca ayuda — este es el único caso en que sí sirve, porque el contenido ya era correcto.

El que no es un impostor

.xlsb parece sospechoso y no lo es. Es un libro de Excel genuino almacenado como binario en lugar de XML comprimido: mismos datos, notablemente más pequeño, y se abre más rápido en un modelo grande. Si un colega te envía uno, no hay nada de malo.

Sea cual sea el archivo, el visor de Excel lo abrirá y te mostrará las hojas.