Чистый текст электронной таблицы с многоразовым макросом ONLYOFFICE

Для многократной очистки электронных таблиц создайте небольшой макрос JavaScript в редакторе электронных таблиц, выберите только тот диапазон текста, который вы хотите изменить, и сначала протестируйте его на дубликате рабочей книги. Пример ниже удаляет непечатаемые символы и лишние пробелы из столбца с электронными письмами, сохраняя при этом все строки на своих местах.

Макросы ONLYOFFICE запускаются внутри редактора и используют его API JavaScript Office. В официальной документации рабочий процесс по-прежнему описывается как открытие окна «Вид» > «Макросы» , написание или вставка кода и его запуск в редакторе; никакие недавние изменения, указанные в текущей документации, не меняют этот базовый процесс. Сам макрос представляет собой иллюстративный, многократно используемый скрипт, а не отчет о тестировании программного обеспечения. См. краткое руководство по макросам ONLYOFFICE и справочник по вкладке «Вид» в редакторе электронных таблиц .

Подготовьте резервную копию и определите порядок очистки.

Предположим, рабочая книга содержит список контактов с заголовком в строке 1 и адресами электронной почты в столбце B, от B2 до B500. Некоторые импортированные значения могут содержать переносы строк, табуляцию или начальные и конечные пробелы. В этом примере очищается только этот текстовый столбец. Перед запуском кода отрегулируйте диапазон в соответствии с вашей таблицей.

  • Сохраните отдельную копию рабочей книги или скопируйте рабочий лист. Оригинал следует хранить в неизмененном виде до проверки результатов.
  • Убедитесь, что выбранный диапазон содержит необработанный текст, а не формулы, идентификаторы, зависящие от пробелов, или данные, для которых необходимо сохранять точное расстояние между символами.
  • Не допускайте попадания строки заголовка в заданный диапазон. Макрос не распознает заголовки и не определяет, какие столбцы можно безопасно изменять.

Используйте диапазон, специфичный для столбца, например, B2:B500, вместо всего используемого диапазона. Удаление данных из каждой ячейки без разбора может изменить имена, адреса, коды или результаты формул не так, как вы предполагали.

Иллюстративный интерфейс электронной таблицы с выбранной вкладкой «Вид» и командой «Макросы» над образцом листа.
В этом наглядном редакторе вкладка «Вид» и команда «Макросы» отображаются над рабочим листом. Откройте её после создания рабочей копии и подтверждения того, в каком столбце находится текст, который нужно очистить.

Откройте редактор макросов и добавьте скрипт.

Откройте рабочую книгу в редакторе электронных таблиц ONLYOFFICE. Выберите «Вид» > «Макросы» , чтобы открыть редактор макросов, затем создайте макрос или замените начальный код в редакторе. Макросы ONLYOFFICE используют синтаксис JavaScript и API Office; это не макросы VBA. Рабочий процесс макроса в редакторе и поддерживаемые методы API описаны в официальном руководстве по началу работы с макросами .

Вставьте этот пример, а затем измените его B2:B500на фактический диапазон, содержащий только текст:

(function () {
    var sheet = Api.GetActiveSheet();
    var range = sheet.GetRange("B2:B500");
    var rows = range.GetValue();
    var functions = Api.WorksheetFunction;

    for (var i = 0; i < rows.length; i++) {
        var value = rows[i][0];
        if (typeof value === "string") {
            value = functions.CLEAN(value);
            rows[i][0] = value.replace(/^\s+|\s+$/g, "")
                              .replace(/\s{2,}/g, " ");
        }
    }

    range.SetValue(rows);
})();

Макрос считывает диапазон в двумерный массив, обрабатывает ячейки строки и записывает массив обратно в тот же диапазон. CLEANУдаляет непечатаемые символы; две замены с помощью регулярных выражений удаляют пробелы по краям и сокращают повторяющиеся пробелы внутри строки до одного пробела. Справочник API подтверждает, что GetValueможет возвращать двумерный массив для диапазона и SetValueпринимает массивы; справочники GetValue , SetValue и CLEAN описывают эти вызовы.

Поскольку скрипт записывает значения обратно, не указывайте ему ячейки, содержащие формулы: ячейки с формулами могут быть заменены их текущими вычисленными значениями. Он также не удаляет повторяющиеся записи, не стандартизирует регистр букв, не проверяет возможность доставки по адресу и не изменяет формат телефонных номеров. Это отдельные правила очистки, которые следует разрабатывать и тестировать независимо друг от друга.

Иллюстративный редактор макросов, демонстрирующий проверенные вызовы API ONLYOFFICE для получения активного листа, чтения значения ячейки и установки значения, с кнопкой «Выполнить».
В этом наглядном представлении редактора макросов область кода и элемент управления «Выполнить» расположены над активной электронной таблицей. В скрипте очистки, описанном в статье, используются описанные в документации методы чтения и записи диапазона, показанные здесь в качестве упрощенного примера API.

Проведите замеры на контролируемом полигоне.

  1. Ещё раз проверьте литерал диапазона. Если список заканчивается, например, на строке 240, используйте диапазон B2:B240 вместо обработки сотен неиспользуемых строк.
  2. В редакторе макросов нажмите кнопку «Выполнить» . Если редактор выдаст синтаксическую ошибку, проверьте кавычки, круглые и фигурные скобки, прежде чем изменять диапазон или добавлять дополнительную логику.
  3. Вернитесь к листу и проверьте несколько ячеек, включая значение, требующее исправления, значение, уже имеющее правильный формат, и пустую ячейку.

Начиная с узкого диапазона, эффект будет легче понять. После того, как результат будет правильным, вы можете повторно использовать макрос на другом листе, намеренно отредактировав диапазон. Не следует предполагать, что буква столбца или граница строки остаются действительными в другой рабочей книге.

Если команда «Макросы» отсутствует или код не может быть выполнен, проверьте, включены ли макросы в редакторе или отключены в конфигурации хост-приложения. В онлайн-редакторе администратор может управлять доступностью макросов; расширенные настройки редактора электронных таблиц описывают параметры макросов, доступные пользователю. Избегайте включения автоматического выполнения для файлов из неизвестных источников; запускайте только тот код, который вы понимаете.

Иллюстративная таблица для работы с контактами, содержащая столбцы «Имя», «Электронная почта», «Отдел» и «Телефон», а также наглядный пример строк с контактной информацией.
Этот наглядный пример контактной таблицы демонстрирует практический тип данных для макроса очистки текста при условии, что выбранный диапазон содержит только нужное текстовое поле и исключает заголовок.

Перед повторным использованием макроса проверьте результат.

Сравните очищенный столбец с исходным, а не оценивайте успех только по внешнему виду. Убедитесь, что каждый непустой адрес электронной почты по-прежнему находится в той же строке, ни один контакт не исчез, и единственные различия заключаются в символах и пробелах, которые вы хотели нормализовать. Проверьте образец в начале, середине и конце выбранного диапазона. Найдите пробел в начале или конце значения, если ваш редактор отображает его, и проверьте импортированные значения, которые ранее содержали переносы строк или управляющие символы.

Также сравните количество строк и любые зависимые формулы, фильтры или таблицы поиска, использующие этот столбец. Если результат формулы неожиданно изменился, отмените редактирование или восстановите рабочую копию; макрос следует ограничить ячейками с необработанным текстом. Для больших или критически важных для бизнеса рабочих книг сравните очищенный столбец с резервной копией или сначала используйте отдельный выходной столбец, чтобы изменения оставались доступными для просмотра.

Иллюстративная электронная таблица, в которой столбцы «Исходные» и «Очищенные» электронные письма расположены рядом, с одинаковым количеством строк и отдельной вкладкой «Копия исходного файла».
На этом наглядном листе столбцы с исходными и очищенными данными электронной почты расположены рядом, и количество отображаемых строк одинаково; сравните свои фактические значения, прежде чем полагаться на очищенный столбец.

Необходимо обеспечить повторяемость процесса очистки.

После успешного первого запуска сохраните рабочую книгу, чтобы макрос оставался доступным в документе в соответствии с рабочим процессом макросов редактора. Не следует предполагать, что макрос, хранящийся в одной рабочей книге, будет автоматически появляться в каждом новом файле. Для повторяющихся импортов используйте чистый шаблон или защищенную копию исходного файла, задокументируйте диапазон, который ожидает макрос, и обновляйте его при изменении макета листа. Макросы ONLYOFFICE полезны для детерминированных правил очистки; они не могут определить, является ли значение фактически правильным или уместно ли изменение для вашего набора данных.

Надежная схема проста: сохранить исходную копию, выбрать известный диапазон значений, выполнить одно определенное преобразование и сравнить результат, прежде чем делиться данными или импортировать их в другое место.

Оставить комментарий

Разверните ONLYOFFICE Docs Enterprise с помощью официального файла конфигурации (Compose File).

Разверните ONLYOFFICE Docs Enterprise с помощью официального файла конфигурации (Compose File).

Запустите стек Enterprise Docker Compose, сохраните его лицензию и данные, безопасно настройте JWT и убедитесь, что редакторы готовы к интеграции.

Чистый текст электронной таблицы с многоразовым макросом ONLYOFFICE

Чистый текст электронной таблицы с многоразовым макросом ONLYOFFICE

Используйте макрос ONLYOFFICE на JavaScript для удаления непечатаемых символов и лишних пробелов в заданном диапазоне электронной таблицы, обеспечивая безопасный процесс проверки.

Измените место хранения по умолчанию в рабочей области ONLYOFFICE.

Измените место хранения по умолчанию в рабочей области ONLYOFFICE.

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

Полностью удалите ONLYOFFICE Document Server из Linux.

Полностью удалите ONLYOFFICE Document Server из Linux.

Определите, использует ли Document Server пакет Linux или Docker, удалите только его компоненты и проверьте оставшиеся данные, не удаляя по ошибке общие службы.

Прекратите тормозить процесс совместного редактирования в ONLYOFFICE, выявив узкое место.

Прекратите тормозить процесс совместного редактирования в ONLYOFFICE, выявив узкое место.

Причину замедления совместного редактирования можно определить как нехватку ресурсов Docker, проблемы с прокси-соединениями или загрузку документов, после чего выберите решение, соответствующее вашим измерениям.

Настройка HTTPS для ONLYOFFICE Docs в Docker

Настройка HTTPS для ONLYOFFICE Docs в Docker

Выберите место завершения TLS-соединения, безопасно смонтируйте доверенный сертификат и закрытый ключ, а также проверьте доступ по HTTPS к серверу ONLYOFFICE Docs, работающему в контейнере Docker.

Подключите PHP-приложение к ONLYOFFICE Docs и сохраняйте внесенные изменения.

Подключите PHP-приложение к ONLYOFFICE Docs и сохраняйте внесенные изменения.

Встройте редактор ONLYOFFICE в свое PHP-приложение, подпишите его конфигурацию с помощью JWT и сохраняйте отредактированные файлы через защищенный обратный вызов.

Оставьте функцию проверки орфографии ONLYOFFICE на выбранном вами языке.

Оставьте функцию проверки орфографии ONLYOFFICE на выбранном вами языке.

Установите язык проверки орфографии для всего документа или выделенного текста, убедитесь, что проверка орфографии активна, и определите, когда отсутствует словарь сервера.

Функция отслеживания изменений должна быть включена при повторном открытии документа.

Функция отслеживания изменений должна быть включена при повторном открытии документа.

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

Отслеживание источника ошибки Nginx в ONLYOFFICE: ошибка 502

Отслеживание источника ошибки Nginx в ONLYOFFICE: ошибка 502

Выясните, возвращает ли Nginx, сетевые компоненты Docker или внутренний сервис ONLYOFFICE ошибку 502, затем проверьте исправленные данные в вышестоящем сервере и результаты проверки работоспособности.