Depuis Excel 2007, Microsoft a divisé le classique .xls
format à plusieurs formats (en particulier .xlsx
, .xlsm
, .xlsb
). Je n'ai aucun problème pour comprendre l'utilisation et le but du .xlsx
format, mais je me demande toujours si nous devrions utiliser un .xlsm
ou un .xlsb
format lors de la création d'un fichier contenant du VBA.
Bien sûr, vous pouvez trouver des sujets sur le Web, par exemple:
- sur le forum Microsoft Answers
- sur le blog Microsoft qui a été pointé dans le lien précédent (pourtant j'ai analysé jusqu'à la 10 e page sans trouver de référence
.xlsb
) - ce sujet d'un autre forum
Ce que j'ai compris de ce dernier lien, c'est qu'il .xlsm
s'agit d'une sorte de format XML et donc nécessaire pour l'onglet ruban personnalisé.
Au-delà de la différence conceptuelle entre le format ( .xlsm
basé sur XML VS .xlsb
est un fichier binaire ), y a-t-il une différence pratique lors de l'utilisation de l'un de ces fichiers (en dehors de la personnalisation du ruban)?
Avez-vous déjà constaté une réelle différence lors de l'utilisation de l'un de ces formats?
la source
Réponses:
Ils sont tous similaires en ce qu'ils sont essentiellement des fichiers zip contenant les composants de fichier réels. Vous pouvez voir le contenu simplement en remplaçant l'extension par .zip et en les ouvrant. La différence avec xlsb semble être que les composants ne sont pas basés sur XML mais sont dans un format binaire: cela est censé être bénéfique lorsque vous travaillez avec de gros fichiers.
https://blogs.msdn.microsoft.com/dmahugh/2006/08/22/new-binary-file-format-for-spreadsheets/
la source
.xlsx
charge 4 fois plus longtemps.xlsb
et économise 2 fois plus longtemps et a 1,5 fois un fichier plus gros. J'ai testé cela sur une feuille de calcul générée avec 10'000 lignes * 1'000 colonnes = 10'000'000 (10 ^ 7) cellules de=…+1
formules chaînées simples :(Matériel: Core2Duo 2,3 GHz, 4 Go de RAM, 5,400 tr / min SATA II HD; Windows 7, sous une charge quelque peu lourde d'autres processus.)
À côté de cela, il ne devrait y avoir aucune différence. Plus précisément,
cite ce blog post de 2006-08-29. Alors peut-être que les informations qui
.xlsb
ne prennent pas en charge le code du ruban sont plus récentes que la citation supérieure, mais je pense que votre source de forum est tout simplement fausse. Lorsque vous ouvrez le fichier binaire, il semble imiter de manière condensée la structure du fichier OOXML 1-to-1: article de blog du 07/08/2006la source
.xlsx
est comme.xlsm
, uniquement avec les macros désactivées. Les deux sont basés sur XML. Contrairement à cela,.xlsb
est binaire. Donc, vous devriez lire la question comme "{.xlsx / .xlsm} contre .xlsb". (Il n'y a pas de version macro-désactivée du binaire.xlsb
.)On pourrait penser que xlsb n'a que des avantages par rapport à xlsm. Le fait que xlsm soit basé sur XML et que xlsb soit binaire est que lorsque la corruption de classeur se produit, vous avez de meilleures chances de réparer un xlsm qu'un xlsb.
la source
Juste pour la postérité, voici le texte de plusieurs sources externes concernant les formats de fichiers Excel. Certains d'entre eux ont été mentionnés dans d'autres réponses à cette question mais sans en reproduire l'essentiel.
1. De Doug Mahugh, le 22 août 2006 :
Cet article fait également référence à la documentation sur le format BIN , trop longue pour être reproduite ici.
2. D'après MSDN Archive, 29 août 2006, qui à son tour cite un article de blog déjà manquant concernant le format XLSB:
la source
Le format XLSB est également dédié aux macros intégrées dans un fichier de classeur caché situé dans le dossier de démarrage Excel (XLSTART).
Un test rapide et sale avec un xlsm ou xlsb dans le dossier XLSTART:
0,89s avec un xlsb (binaire) versus 1,3s avec le même contenu au format xlsm (xml dans un fichier zip) ... :)
la source