Tablora · Библиотека
Сохранить текст, похожий на escape-последовательность SpreadsheetML
Текст вроде _x0041_ — это код экранирования внутри файлов XLSX. Конвертер с сохранением текста защищает его, и ячейка показывает _x0041_, а не букву A.
Шаблон, зарезервированный форматом XLSX
Внутри файла XLSX текст может содержать коды вида _x, затем четыре шестнадцатеричные цифры и подчёркивание, например _x0041_. Электронная таблица, читая файл, декодирует каждый код в символ, который он обозначает, так что _x0041_ превращается в заглавную букву A, а _x000D_ — в возврат каретки. Для программ это удобно, но становится проблемой, когда реальное значение случайно похоже на код — например, системный идентификатор, имя поля из базы данных или токен из журнала.
Конвертер с сохранением текста защищает каждый такой шаблон перед записью. Он добавляет экранирование для подчёркивания в начале, и это сообщает электронной таблице, что следующие символы надо показать буквально. Это отдельный шаг, не связанный с экранированием амперсандов и угловых скобок для XML.
Затрагивается только точная форма: подчёркивание, x, четыре шестнадцатеричных символа и закрывающее подчёркивание. Что-то вроде _x41_ или _x0041 без закрывающего подчёркивания — обычный текст и в файле, и в электронной таблице.
Пример с _x0041_
В примере на странице один столбец с именем code и значением _x0041_. Ожидаемый текст ячейки в книге — _x0041_, записанный как явный текст, так что электронная таблица не видит там ни формулы, ни числа. Когда вы откроете tablora-table.xlsx, ячейка покажет семь введённых вами символов, а не букву A.
Проверка значений, похожих на коды
- Поищите в источнике подчёркивание, за которым идут x и четыре символа от 0 до 9 и от A до F и ещё одно подчёркивание. Шестнадцатеричные цифры в верхнем и нижнем регистре одинаково считаются кодами.
- Убедитесь, что значение задумано буквально. Если сам источник содержит закодированный текст, декодируйте его в системе, которая его создала, а не здесь.
- Вставьте таблицу, нажмите «Рассчитать» и проверьте предпросмотр.
- Нажмите «Скачать (XLSX)» и сравните ячейку в электронной таблице с оригиналом.
- Возвраты каретки внутри ячейки защищаются так же, поэтому тоже сохраняются.
Шаблоны экранирования в других экспортах
- Скачиваемые CSV из браузерных инструментов записывают _x0041_ как обычные символы, потому что в CSV такой кодировки нет: её применяет электронная таблица при чтении XLSX.
- Экспорт в XLSX из приложения Tablora экранирует амперсанды и скобки, но этой защиты не добавляет, поэтому ячейка со страницы, где есть _x0041_, может отобразиться декодированной. Для таких значений экспортируйте из приложения CSV или вставьте ячейки в конвертер с сохранением текста здесь и скачайте XLSX.
- В обычных таблицах такие шаблоны редки. Если вы на него наткнулись, он обычно пришёл из технической системы, и сохранить исходный файл для сравнения стоит этого лишнего шага.
Входные данные
- Текст таблицы
- code _x0041_
- Разделитель полей
- ,
Результаты
- Строки
- 2
- Столбцы
- 1
| code |
|---|
| _x0041_ |
- Размер файла в байтах
- 2302
Все ячейки электронной таблицы сохраняются как текст, чтобы сохранить идентификаторы и содержимое, похожее на формулы.