Tablora

Tablora · Biblioteca

Conservar texto que parece una secuencia de escape SpreadsheetML

Un texto como _x0041_ es un código de escape dentro de los archivos XLSX. El conversor que conserva el texto lo protege para que la celda muestre _x0041_ y no la letra A.

Un patrón que reserva el formato XLSX

Dentro de un archivo XLSX, el texto puede contener códigos con la forma _x seguida de cuatro dígitos hexadecimales y un guion bajo, como _x0041_. Una hoja de cálculo que lee el archivo descodifica cada código en el carácter que representa, así que _x0041_ se convierte en la letra mayúscula A y _x000D_ en un retorno de carro. Eso es útil para los programas, pero un problema cuando un valor real se parece por casualidad a un código, por ejemplo un identificador de sistema, un nombre de campo de una base de datos o un token de un registro.

El conversor a XLSX que conserva el texto protege cada uno de esos patrones antes de escribirlo. Añade el escape del guion bajo inicial, lo que indica a la hoja de cálculo que muestre literalmente los caracteres siguientes. Es un paso distinto del escape de los et y los corchetes angulares para el XML.

Solo se ve afectada la forma exacta: un guion bajo, x, cuatro caracteres hexadecimales y un guion bajo de cierre. Algo como _x41_, o _x0041 sin el guion bajo de cierre, es texto normal en el archivo y en la hoja de cálculo.

El ejemplo _x0041_

El ejemplo de la página tiene una columna llamada code con el valor _x0041_. El texto esperado de la celda en el libro es _x0041_, escrito como texto explícito, así que la hoja de cálculo no ve ahí ni una fórmula ni un número. Cuando abres tablora-table.xlsx, la celda muestra los siete caracteres que introdujiste, no la letra A.

Revisar valores con aspecto de escape

Patrones de escape en otras exportaciones

Datos de entrada

Texto de la tabla
code _x0041_
Delimitador
,

Resultados

Filas
2
Columnas
1
code
_x0041_
Tamaño del archivo en bytes
2302

Todas las celdas de la hoja se guardan como texto para conservar los identificadores y el contenido que parece una fórmula.