Tablora

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

Les motifs d’échappement dans les autres exports

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.