Tablora · Bibliothèque
Préserver un texte ressemblant à un échappement SpreadsheetML
Un texte comme _x0041_ est un code d’échappement dans les fichiers XLSX. Le convertisseur préservant le texte le protège pour que la cellule affiche _x0041_ et non A.
Un motif que réserve le format XLSX
Dans un fichier XLSX, le texte peut contenir des codes de la forme _x suivi de quatre chiffres hexadécimaux et d’un trait de soulignement, comme _x0041_. Un tableur qui lit le fichier décode chaque code en caractère correspondant : _x0041_ devient la lettre majuscule A et _x000D_ un retour chariot. C’est utile pour les logiciels, mais problématique quand une vraie valeur ressemble par hasard à un code, par exemple un identifiant système, un nom de champ issu d’une base de données ou un jeton de journal.
Le convertisseur XLSX préservant le texte protège chacun de ces motifs avant de l’écrire. Il ajoute l’échappement du trait de soulignement initial, ce qui indique au tableur d’afficher littéralement les caractères qui suivent. C’est une étape distincte de l’échappement des esperluettes et des chevrons pour le XML.
Seule la forme exacte est concernée : un trait de soulignement, x, quatre caractères hexadécimaux et un trait de soulignement final. Quelque chose comme _x41_, ou _x0041 sans le trait de soulignement final, est du texte ordinaire, dans le fichier comme dans le tableur.
L’exemple _x0041_
L’exemple de la page comporte une colonne nommée code avec la valeur _x0041_. Le texte attendu dans la cellule du classeur est _x0041_, écrit en texte explicite : le tableur n’y voit donc ni formule ni nombre. Quand vous ouvrez tablora-table.xlsx, la cellule affiche les sept caractères que vous avez saisis, et non la lettre A.
Vérifier les valeurs qui ressemblent à un échappement
- Cherchez dans votre source un trait de soulignement suivi de x et de quatre caractères de 0 à 9 et de A à F, terminé par un autre trait de soulignement. Les chiffres hexadécimaux en majuscules comme en minuscules sont traités comme des codes.
- Vérifiez que la valeur doit être prise à la lettre. Si la source contient elle-même du texte encodé, décodez-le dans le système qui l’a produit, pas ici.
- Collez le tableau, appuyez sur « Calculer » et vérifiez l’aperçu.
- Utilisez « Télécharger (XLSX) » et comparez la cellule du tableur avec votre original.
- Les retours chariot à l’intérieur d’une cellule sont protégés de la même façon : ils sont donc eux aussi conservés.
Les motifs d’échappement dans les autres exports
- Les téléchargements CSV des outils du navigateur écrivent _x0041_ en caractères ordinaires, car le CSV n’a pas ce type d’encodage ; c’est la lecture du XLSX par le tableur qui l’applique.
- L’export XLSX de l’app Tablora échappe les esperluettes et les chevrons, mais n’ajoute pas cette protection : une cellule lue sur une page qui contient _x0041_ peut donc s’afficher décodée. Pour de telles valeurs, exportez en CSV depuis l’app, ou collez les cellules ici dans le convertisseur XLSX préservant le texte et téléchargez le XLSX.
- Ces motifs sont rares dans les tableaux ordinaires. Si vous en trouvez un, il provient généralement d’un système technique, et garder le fichier d’origine pour la comparaison vaut bien cette étape supplémentaire.
Données d’entrée
- Texte du tableau
- code _x0041_
- Délimiteur
- ,
Résultats
- Lignes
- 2
- Colonnes
- 1
| code |
|---|
| _x0041_ |
- Taille du fichier en octets
- 2302
Chaque cellule du classeur est enregistrée comme texte pour préserver les identifiants et le contenu ressemblant à une formule.