Garder un périmètre étroit
Ce parcours s'adresse aux analystes, aux équipes opérationnelles et aux développeurs qui préparent un seul classeur ou une seule feuille pour un consommateur JSON. Conservez une copie intacte et produisez un tableau JSON révisé ou un aperçu d'une plage délimitée. L'ingestion par lots, l'entrée API ou S3, la fusion de plusieurs classeurs et la livraison SQL, Parquet ou entrepôt ne font pas partie de ce parcours.
Vérifier la limite avant le nettoyage
Notez le nom de la feuille, la plage A1 ou nommée, la ligne d'en-têtes et le nombre attendu de lignes de données. Utilisez xlsx-range-extractor en mode records quand chaque ligne doit devenir un objet, ou en mode cell_objects quand les adresses constituent une preuve. N'activez la suppression des blancs que si les cellules vides n'ont pas de sens pour la revue. La limite est importante : le mappeur et le transformateur lisent la feuille, et non une plage arbitraire.
Mapper les champs selon un contrat explicite
Sur une copie de travail, utilisez xlsx-column-mapper avec la vraie ligne d'en-têtes. Placez les noms canoniques dans renameMapJson, les alias dans aliasMapJson, la séquence voulue dans reorderColumns et les suppressions intentionnelles dans removeColumns. Décidez de keepUnmapped avant l'exécution. Vérifiez la nouvelle ligne d'en-têtes et gardez l'original : la sortie du mappage est un nouveau XLSX.
Convertir et revoir le comportement JSON
Utilisez xlsx-json-transformer en mode xlsx_to_json lorsque la feuille mappée a ses en-têtes en première ligne. Gardez constants le nom de feuille et le séparateur de chemins. restoreTypes peut transformer un texte ressemblant à un nombre, un booléen, null, un tableau ou un objet en une autre valeur JSON, tandis que les cellules vides sont omises en mode XLSX vers JSON. Comparez des lignes représentatives, les champs, les types, les blancs et les clés dupliquées. Les outils ne décident pas des règles de doublons ni des types métier.
N'acceptez le résultat que lorsque chaque différence est expliquée et que les exigences de lots, d'entrées externes, de classeurs multiples, de SQL, de Parquet ou d'entrepôt n'ont pas envahi cette remise sur un seul classeur.