Desde Excel 2007, Microsoft ha dividido a la clásica .xlsformato a varios formatos (en particular, .xlsx, .xlsm, .xlsb). No tengo ningún problema para comprender el uso y el propósito del .xlsxformato, pero todavía me pregunto si deberíamos usar .xlsmun .xlsbformato 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 .xlsmes 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 ( .xlsmse basa en XML VS .xlsbes 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
.xlsxcarga 4 veces más que.xlsby 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=…+1fó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
.xlsbno 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
.xlsxes como.xlsm, solo con macros deshabilitadas. Ambos están basados en XML. En contraste con eso,.xlsbes 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