Comment décoder du Base64 en fichier Excel
- Collez le Base64 dans Base64 ou data URI. Un préfixe comme
data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,peut rester. Pour un long export enregistré en texte, utilisez Ouvrir un fichier .txt. - Au-dessus du tableau, une ligne nomme la feuille, par exemple Première feuille : « Invoices » (3 dans le classeur). Le tableau affiche les lettres des colonnes en haut et les numéros de ligne propres à la feuille sur le côté : la ligne 17 est donc la ligne 17 dans Excel, même si les lignes précédentes sont vides.
- Sous le tableau, la liste des entrées montre chaque partie du classeur avec Voir et Enregistrer.
- Appuyez sur Télécharger le fichier pour enregistrer le .xlsx.
Lire la feuille ne nécessite ni Excel ni aucun complément. La page décompresse le classeur et analyse son XML dans votre navigateur, et sa Content Security Policy n’autorise aucune requête réseau hormis le comptage des pages vues de Cloudflare : les données restent sur votre appareil.
Comment l’aperçu affiche les valeurs des cellules
Le tableau montre ce qui est stocké dans chaque cellule, sans les formats de nombre d’Excel. C’est généralement ce qu’on veut pour vérifier un export, mais certaines cellules ont un aspect différent de celui d’Excel :
| Cellule dans Excel | Affichage dans l’aperçu |
|---|---|
| Texte | Le texte |
25%, $1,234.50 | Le nombre stocké : 0.25, 1234.5 |
15/01/2025 | Le numéro de série de la date : 45672 |
12:00 | La fraction de journée : 0.5 |
=C2*2 qui affiche 241 | 241, le résultat enregistré avec le fichier |
TRUE, FALSE | TRUE, FALSE |
#DIV/0! | #DIV/0! |
| Cellules fusionnées | Uniquement la valeur de la cellule en haut à gauche |
Pour transformer un numéro de série en date, ajoutez autant de jours au 30 décembre 1899 : datetime(1899, 12, 30) + timedelta(days=45672) donne le 15 janvier 2025. Les classeurs qui utilisent le calendrier depuis 1904, un réglage hérité des anciennes versions Mac d’Excel, comptent plutôt à partir du 1er janvier 1904.
Les résultats des formules n’apparaissent que si le programme qui a écrit le fichier les a enregistrés. Excel et LibreOffice le font ; certaines bibliothèques écrivent les formules sans leurs résultats, et ces cellules apparaissent vides.
L’aperçu a des limites : il lit la première feuille dans l’ordre du classeur (l’onglet le plus à gauche, même s’il est masqué ou qu’un autre onglet était actif), jusqu’à 200 lignes et 30 colonnes (de A à AD). S’il y en a plus, la note « Affichage de 200 lignes × 30 colonnes au maximum. » apparaît. Les graphiques, images, commentaires et la mise en forme ne sont pas affichés.
XLSX, XLS, CSV ou autre chose
| Le Base64 commence par | Fichier | Que faire |
|---|---|---|
UEsDB | XLSX, ou un autre fichier basé sur ZIP | L’aperçu fonctionne pour XLSX et XLSM |
0M8R4KGxGuE | Ancien .xls (Excel 97–2003) ou .xlsx protégé par mot de passe | L’outil indique « Cela ne ressemble pas à un fichier XLSX » et détecte DOC/XLS/MSG (OLE). Il ne peut pas les distinguer, et Extension reste sur xlsx : saisissez xls pour un ancien classeur, gardez xlsx pour un fichier protégé |
77u/ | Texte avec marque d’ordre des octets UTF-8, en général un export CSV | Voir Base64 en CSV |
PD94bWwg | XML (<?xml ), peut-être une feuille de calcul XML Excel 2003 | Enregistrez-le avec l’extension xml ; Excel l’ouvre |
Deux variantes basées sur ZIP demandent de l’attention. Un classeur avec macros contient xl/vbaProject.bin ; son aperçu s’affiche normalement, mais Excel refuse de l’ouvrir avec l’extension .xlsx : saisissez donc xlsm avant de télécharger. Un classeur binaire (.xlsb) garde ses feuilles dans des fichiers .bin plutôt qu’en XML : l’outil l’appelle quand même XLSX et liste ses entrées, mais n’affiche pas de tableau, et il doit être enregistré en xlsb.
Un CSV envoyé à la place d’un classeur déclenche « Cela ressemble à CSV, pas à un fichier XLSX. » avec un bouton Télécharger en .csv. Excel ouvre les deux.
D’où viennent les classeurs en Base64
Les API de reporting et de comptabilité renvoient les exports générés dans un champ Base64 d’un JSON. Les plateformes d’automatisation et de low-code se passent souvent les fichiers d’une étape à l’autre sous forme de chaînes Base64, et les e-mails transportent les pièces jointes de tableur dans des parties MIME en Base64. Pour aller dans l’autre sens, d’un classeur vers une chaîne, utilisez Excel en Base64.
Lire un classeur Base64 en Python
Avec le paquet openpyxl, le classeur peut être lu directement depuis les octets décodés :
import base64, io
from openpyxl import load_workbook
with open("export.b64") as f:
raw = base64.b64decode(f.read())
wb = load_workbook(io.BytesIO(raw), data_only=True)
ws = wb.worksheets[0]
for row in ws.iter_rows(values_only=True):
print(row)
data_only=True renvoie les résultats de formules enregistrés plutôt que les formules, soit les mêmes valeurs que l’aperçu. Contrairement à l’aperçu, openpyxl applique les formats de nombre aux dates : la cellule ci-dessus revient donc sous la forme datetime(2025, 1, 15, 0, 0). D’autres options de décodage se trouvent sur Base64 en Python.
FAQ
Comment convertir du Base64 en fichier Excel ?
Collez la chaîne ci-dessus et appuyez sur Télécharger le fichier. Le classeur est enregistré sous le nom decoded.xlsx avec exactement les octets qui avaient été encodés : formules, mise en forme et toutes les feuilles sont intactes.
Pourquoi les dates s'affichent-elles sous forme de nombres comme 45672 ?
Excel stocke une date comme le nombre de jours écoulés depuis le 30 décembre 1899 et ne la met en forme de date qu’à l’écran. L’aperçu montre la valeur stockée : 45672 correspond au 15 janvier 2025, et Excel l’affiche à nouveau comme une date à l’ouverture du fichier.
Puis-je voir les autres feuilles ?
Le tableau ne montre que la première feuille. Les autres sont listées sous les noms xl/worksheets/sheet2.xml, etc. ; Voir affiche leur XML brut, où les cellules de texte sont des nombres qui renvoient à xl/sharedStrings.xml.
Excel indique que le format ou l'extension du fichier n'est pas valide. Pourquoi ?
L’extension ne correspond pas au contenu. Un classeur avec macros (il contient xl/vbaProject.bin) doit être enregistré en .xlsm, et un ancien classeur détecté comme OLE a besoin de .xls ; saisissez la bonne extension dans Extension et téléchargez à nouveau.