Tablora

Tablora · Библиотека

Сохранить угловые скобки и амперсанды в ячейке

Текст ячейки вроде A&B <sample> содержит символы, зарезервированные в XML. XLSX с сохранением текста экранирует их в файле и показывает исходный текст.

Символы, зарезервированные форматом книги

Файл XLSX — это ZIP-пакет из XML-документов, а в XML амперсанд, угловые скобки и кавычки имеют особое значение. Примечание к товару вроде A&B <sample> нельзя записать в лист как есть: файл был бы повреждён, и электронная таблица отказалась бы его открывать или предложила бы восстановить.

Конвертер с сохранением текста экранирует эти символы внутри пакета. Когда электронная таблица открывает файл, ячейка показывает те же символы, которые вы ввели. Ничто в ячейке не становится HTML-элементом, XML-тегом или ссылкой.

A&B <sample>: от вставки до ячейки

В примере на странице один столбец с именем note и значение A&B <sample>. Ожидаемый текст ячейки в книге — A&B <sample>, сохранённый как явная текстовая ячейка, а не как формула или число. В предпросмотре на этой странице значение тоже показано как обычный текст, так что угловые скобки видны как символы, а не как разметка.

Кавычки и апострофы в примечании экранируются внутри файла так же и тоже доходят без изменений.

Шаги для текста с разметкой

Когда конвертер отклоняет текст

Некоторые символы вообще нельзя хранить в XML — например, большинство управляющих символов ASCII, оставшихся от старых выгрузок или от копирования из терминала. Конвертер отклоняет текст с такими символами и показывает «Проверьте введённые значения и повторите попытку.», а не выбрасывает символы молча. Найдите невидимый символ в источнике, удалите или замените его в копии и пересчитайте.

Приложение Tablora, когда записывает XLSX из фото или PDF, поступает иначе: амперсанды и скобки оно экранирует так же, а символы, которые XML не может хранить, удаляет, поэтому файл всегда открывается. Если текст ячейки важен до символа, сверьте его с источником перед экспортом.

Родственный случай экранирования

Амперсанды и скобки — лишь один вид экранирования. Текст, похожий на символьный код SpreadsheetML, например _x0041_, требует собственной защиты, и конвертер с сохранением текста её тоже применяет.

Входные данные

Текст таблицы
note A&B <sample>
Разделитель полей
,

Результаты

Строки
2
Столбцы
1
note
A&B <sample>
Размер файла в байтах
2311

Все ячейки электронной таблицы сохраняются как текст, чтобы сохранить идентификаторы и содержимое, похожее на формулы.