Частые проблемы и решения
1. Пустые столбцы и ячейки в шаблонах Excel исчезают в результате рендера
Описание проблемы: В шаблонах Excel, если ячейка не содержит контента или стилей, она может быть удалена при рендере, из-за чего в итоговом документе пропадают ячейки.
Решения:
- Заполните фоновым цветом: примените фоновый цвет к пустым ячейкам в целевой области, чтобы ячейки оставались видимыми во время рендера.
- Вставьте пробелы: вставьте символ пробела в пустые ячейки, чтобы сохранить структуру ячеек даже без фактического содержимого.
- Задайте границы: добавьте стили границ таблицы, чтобы усилить границы ячеек и предотвратить их исчезновение при рендере.
Пример:
В шаблон е Excel задайте светло-серый фон для всех целевых ячеек и вставьте пробелы в пустые ячейки.
2. Объединённые ячейки некорректно отображаются в результате
Описание проблемы: При использовании циклов для вывода таблиц объединённые ячейки в шаблоне могут вызывать некорректный результат рендера, например потерю эффекта объединения или смещение данных.
Решения:
- Избегайте объединения ячеек: по возможности не используйте объединённые ячейки в таблицах с циклическим выводом, чтобы обеспечить корректный рендер данных.
- Используйте выравнивание по выделению: если нужно выровнять текст по центру нескольких ячеек по горизонтали, используйте функцию «По центру (выделение)» вместо объединения ячеек.
- Ограничивайте позиции объединения: если объединение необходимо, объединяйте только ячейки над таблицей или справа от неё, избегая объединения снизу и слева, чтобы не потерять эффект объединения при рендере.
3. Контент под областью цикла вызывает нарушение форматирования
Описание проблемы: В шаблонах Excel, если под областью цикла, которая динамически растёт в зависимости от количества данных (например, детали заказа), есть другой контент (например, итог заказа, примечания), то при рендере строки цикла расширяются вниз и напрямую перезаписывают или сдвигают статический контент ниже, из-за чего в итоговом документе возникает нарушение форматирования и наложение контента.
Решения:
- Скорректируйте макет и разместите область цикла внизу: это наиболее рекомендуемый способ. Разместите область таблицы, где нужен циклический рендер, в нижней части листа. Перенесите всю информацию, которая раньше была под ней (итоги, подписи и т. д.), выше области цикла. Тогда данные цикла смогут свободно расширяться вниз, не затрагивая другие элементы.
- Оставьте достаточный запас пустых строк: если контент обязательно должен находиться ниже области цикла, оцените максимальное число строк, которое может сгенерировать цикл, и вручную вставьте достаточное количество пустых строк как буфер между областью цикла и нижним контентом. У этого метода есть риск: если фактических данных окажется больше оценки, проблема повторится.
- Используйте шаблоны Word: если требования к макету сложные и их нельзя решить перестройкой структуры Excel, рассмотрите использование документов Word в качестве шаблонов. Таблицы в Word автоматически сдвигают контент ниже при увеличении числа строк, без проблем с наложением.
Пример:
Неправильный подход: размещать информацию «Итог заказа» сразу под таблицей «Детали заказа» с циклом.

Правильный подход 1 (корректировка макета): перенесите информацию «Итог заказа» над таблицей «Детали заказа», чтобы область цикла стала нижним элементом страницы.

Правильный подход 2 (запас пустых строк): оставьте много пустых строк между «Детали заказа» и «Итог заказа», чтобы контент цикла имел достаточно места для расширения.

Правильный подход 3: используйте шаблоны Word.
4. При рендере шаблона появляются сообщения об ошибке
Описание проблемы: Во время рендера шаблона система показывает сообщения об ошибке, из-за чего рендер завершается с ошибкой.
Возможные причины:
- Ошибки в заполнителях: имена заполнителей не совпадают с полями набора данных или содержат синтаксические ошибки.
- Отсутствуют данные: в наборе данных нет полей, на которые ссылается шаблон.
- Некорректное использование форматтеров: параметры форматтера неверны или используются неподдерживаемые типы форматирования.
Решения:
- Проверьте заполнители: убедитесь, что имена заполнителей в шаблоне совпадают с именами полей в наборе данных и имеют корректный синтаксис.
- Проверьте набор данных: подтвердите, что набор данных содержит все поля, на которые ссылается шаблон, и что форматы данных корректны.
- Скорректируйте форматтеры: проверьте способы использования форматтеров, убедитесь в корректности параметров и используйте поддерживаемые типы форматирования.
Пример:
Некорректный шаблон:
Набор данных:
Решение: добавьте поле totalAmount в набор данных или удалите ссылку на totalAmount из шаблона.

