Desde Excel 2007, Microsoft ha dividido a la clásica .xls
formato a varios formatos (en particular, .xlsx
, .xlsm
, .xlsb
). No tengo ningún problema para comprender el uso y el propósito del .xlsx
formato, pero todavía me pregunto si deberíamos usar .xlsm
un .xlsb
formato o uno al crear un archivo que contenga algo de VBA.
Por supuesto, puede encontrar algunos temas en la web, por ejemplo:
- en el foro de respuestas de Microsoft
- en el blog de Microsoft que se señaló en el enlace anterior (sin embargo, he analizado hasta la décima página sin encontrar una referencia
.xlsb
) - este tema de otro foro
Lo que he entendido de este último enlace es que .xlsm
es algún tipo de formato XML y, por lo tanto, es necesario para la pestaña de cinta personalizada.
Más allá de la diferencia conceptual entre el formato ( .xlsm
se basa en XML VS .xlsb
es un archivo binario ), ¿hay alguna diferencia práctica al usar cualquiera de estos archivos (aparte de la personalización de la cinta)?
¿Alguna vez ha visto alguna diferencia real al utilizar alguno de estos formatos?
fuente
Respuestas:
Todos son similares en el sentido de que son esencialmente archivos zip que contienen los componentes reales del archivo. Puede ver el contenido simplemente reemplazando la extensión con .zip y abriéndolos. La diferencia con xlsb parece ser que los componentes no están basados en XML sino en formato binario: supuestamente esto es beneficioso cuando se trabaja con archivos grandes.
https://blogs.msdn.microsoft.com/dmahugh/2006/08/22/new-binary-file-format-for-spreadsheets/
fuente
.xlsx
carga 4 veces más que.xlsb
y guarda 2 veces más y tiene 1,5 veces un archivo más grande. Probé esto en una hoja de trabajo generada con 10'000 filas * 1'000 columnas = 10'000'000 (10 ^ 7) celdas de=…+1
fórmulas encadenadas simples :(Hardware: Core2Duo 2.3 GHz, 4 GB RAM, 5.400 rpm SATA II HD; Windows 7, bajo una carga algo pesada de otros procesos).
Aparte de esto, no debería haber diferencias. Más precisamente,
cita este blog después de 2006-08-29. Entonces, tal vez la información que
.xlsb
no admite el código Ribbon es más nueva que la cita superior, pero creo que la fuente del foro tuya es simplemente incorrecta. Al abrir el archivo binario, parece imitar de forma condensada la estructura del archivo OOXML 1 a 1: artículo de blog de 2006-08-07fuente
.xlsx
es como.xlsm
, solo con macros deshabilitadas. Ambos están basados en XML. En contraste con eso,.xlsb
es binario. Por lo tanto, debería leer la pregunta como "{.xlsx / .xlsm} versus .xlsb". (No hay una versión macrodeshabilitada del binario.xlsb
.)Se podría pensar que xlsb solo tiene ventajas sobre xlsm. El hecho de que xlsm esté basado en XML y xlsb sea binario es que cuando se daña el libro de trabajo, tiene más posibilidades de reparar un xlsm que un xlsb.
fuente
Solo para la posteridad, aquí está el texto de varias fuentes externas sobre los formatos de archivo de Excel. Algunos de ellos se han mencionado en otras respuestas a esta pregunta pero sin reproducir el contenido esencial.
1. De Doug Mahugh, 22 de agosto de 2006 :
Este artículo también hace referencia a la documentación sobre el formato BIN , demasiado extenso para reproducirlo aquí.
2. De MSDN Archive, 29 de agosto de 2006, que a su vez cita una publicación de blog que ya faltaba sobre el formato XLSB:
fuente
El formato XLSB también está dedicado a las macros incrustadas en un archivo de libro oculto ubicado en la carpeta de inicio de Excel (XLSTART).
Una prueba rápida y sucia con un xlsm o xlsb en la carpeta XLSTART:
0,89s con un xlsb (binario) versus 1,3s con el mismo contenido en formato xlsm (xml en un archivo zip) ... :)
fuente