Telegram-ассистент для Excel-отчётов: Excel-отчёт собирается по сообщению

Сотрудник отправляет файл и задачу в Telegram, бот выполняет операции в изолированной среде и возвращает отчёт с журналом действий.

Excel → отчётпо сообщению в Telegram

Проект для заказчика · бэк-офис

Отчёты пересобирали вручную

Сотрудники копировали листы между файлами, пересобирали сводные таблицы и правили формулы. Ошибку замечали уже в готовом отчёте.

Как это работает по шагам

Бот разбирает структуру файла — листы, колонки, типы данных, — превращает запрос в план операций, выполняет их в изолированной среде и возвращает Excel вместе с кратким журналом: какие листы изменены.

  1. Пользователь отправляет выгрузку из CRM, ERP или 1C и формулирует результат обычным языком: собрать сводку, найти расхожА · файл и задача приходят в telegram
  2. Ассистент определяет листы, колонки, типы данных, формулы и ограничения, чтобы не выполнять запрос вслепую.Б · система понимает структуру книги
  3. Операции запускаются с лимитами, только из разрешённого списка и с журналом действий — никакого кода без контроля.В · операции выполняются в защищённом режиме

Отчёт и журнал

журнал
каждое действие видно

В журнале видно список операций, затронутые строки и предупреждения по аномалиям.

Бот в Telegram принимает Excel-файлы, выполняет нужные операции, сверяет результат и возвращает готовый отчёт с журналом
Все проекты
Тип работы
Проект для заказчика
Заказчик
Конфиденциальный проект
Отрасль
Бэк-офис
Срок
2 недели разработки
Команда
1 Python разработчик, 1 аналитик
Стек
Python, Telegram Bot API, Pandas, OpenPyXL, GPT-4
Подробно для технических специалистовКак Telegram-запрос превращается в воспроизводимый Excel-отчёт

Внутри такого бота важен не сам факт, что LLM может написать Python-код. Бизнес-ценность появляется только тогда, когда система понимает структуру книги, строит ограниченный план операций, исполняет его в sandbox, сверяет результат и оставляет audit log, по которому можно восстановить каждое изменение.

Первым шагом Excel-файл переводится в структурированное представление. Для каждого листа сохраняются колонки, типы данных, формулы, число строк, пропуски и контрольные суммы. Пользовательская фраза из Telegram не исполняется напрямую: она сопоставляется со схемой книги и доступными операциями.

W={Sk}k=1m,Sk=(Xk, Ck, Fk, Tk)W = \{S_k\}_{k=1}^{m},\quad S_k=(X_k,\ C_k,\ F_k,\ T_k)
Книга хранится как набор листов: значения, колонки, формулы и типы данных.

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

Загрузка Excel-файла и определение структуры книги
Перед обработкой система показывает файл, первые строки, типы колонок и историю операций.

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

P={o1,…,on},oi=(typei, argsi, guardsi)P = \{o_1,\ldots,o_n\},\quad o_i=(type_i,\ args_i,\ guards_i)
Каждый шаг пайплайна описывает тип операции, аргументы и защитные условия исполнения.

LLM здесь работает как планировщик и генератор кода, но финальное исполнение контролируется правилами: разрешённые библиотеки, лимит памяти, таймаут, allowlist операций и обязательные проверки перед выдачей результата.

План обработки Excel-файла через Pandas и OpenPyXL
Оператор видит не магический ответ, а конкретный план: очистка, агрегации, формулы, сверки и экспорт.

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

valid(R)=⋀j=1qcheckj(W, W′) ∧ warnings≤γvalid(R)=\bigwedge_{j=1}^{q} check_j(W,\ W')\ \land\ warnings\le\gamma
Итоговый файл считается готовым только после набора сверок и допустимого числа предупреждений.

Это особенно важно для регулярных финансовых и операционных отчётов: ошибка в одной формуле может пройти незаметно, если нет формального слоя validation перед отправкой файла в Telegram, почту или портал.

Проверка результата и предупреждения перед отправкой Excel-отчёта
Validation summary показывает, что изменилось, какие строки затронуты и где нужен человек.

Финальный артефакт — не только XLSX-файл. Вместе с отчётом сохраняется audit log: входной файл, хэш результата, список операций, затронутые строки, предупреждения, время исполнения и версия шаблона. Поэтому регулярный отчёт можно воспроизвести и объяснить внутреннему контролю.

Ai=(oi, rowsi, hashin, hashout, statusi),R=(W′, A, V)A_i=(o_i,\ rows_i,\ hash_{in},\ hash_{out},\ status_i),\quad R=(W',\ A,\ V)
Результат включает обновлённую книгу, audit log и набор проверок качества.

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

Готовый Excel-отчёт, файл результата и audit log
Отчёт возвращается в рабочий канал вместе с резюме выполненных действий.

На выходе получается не «бот, который правит таблицу», а воспроизводимый back office-процесс: файл, план операций, sandbox-исполнение, quality checks, audit log и понятный канал доставки результата.

Результаты

  • Регулярный отчёт собирается по сообщению в Telegram, а не вручную между файлами
  • Бот сам выполняет повторяющиеся операции: очистку, группировки, сверки и выгрузки
  • Добавили контроль результата: список операций, затронутые строки и предупреждения по аномалиям
  • Python
  • Telegram Bot API
  • Pandas
  • OpenPyXL
  • GPT-4

Хотите похожее решение?

Опишите процесс, данные и желаемый результат — вернёмся с вариантами решения и оценкой первого этапа.