Tablora

Tablora · Biblioteca

Preservare testo simile a un escape SpreadsheetML

Un testo come _x0041_ è un codice di escape nei file XLSX. Il convertitore che preserva il testo lo protegge, così la cella mostra _x0041_ e non la lettera A.

Uno schema riservato dal formato XLSX

In un file XLSX, il testo può contenere codici nella forma _x seguita da quattro cifre esadecimali e da un trattino basso, come _x0041_. Un foglio di calcolo che legge il file decodifica ogni codice nel carattere che rappresenta, quindi _x0041_ diventa la lettera maiuscola A e _x000D_ un ritorno a capo. È utile per i programmi, ma diventa un problema quando un valore reale somiglia per caso a un codice, per esempio un identificativo di sistema, il nome di un campo di un database o un token di log.

Il convertitore XLSX che preserva il testo protegge ognuno di questi schemi prima di scriverlo. Aggiunge l’escape del trattino basso iniziale, che indica al foglio di calcolo di mostrare letteralmente i caratteri successivi. È un passaggio distinto dalla codifica di e commerciali e parentesi angolari per l’XML.

Viene interessata solo la forma esatta: un trattino basso, x, quattro caratteri esadecimali e un trattino basso di chiusura. Qualcosa come _x41_, oppure _x0041 senza il trattino basso finale, è testo normale sia nel file sia nel foglio di calcolo.

L’esempio _x0041_

L’esempio della pagina ha una colonna chiamata code con il valore _x0041_. Il testo previsto della cella nella cartella di lavoro è _x0041_, scritto come testo esplicito, quindi il foglio di calcolo non vi vede né una formula né un numero. Quando apri tablora-table.xlsx, la cella mostra i sette caratteri che hai inserito, non la lettera A.

Controllare i valori che sembrano escape

Gli schemi di escape nelle altre esportazioni

Dati di ingresso

Testo della tabella
code _x0041_
Delimitatore
,

Risultati

Righe
2
Colonne
1
code
_x0041_
Dimensione del file in byte
2302

Ogni cella del foglio viene salvata come testo per conservare gli identificatori e i contenuti simili a formule.