Я хочу убрать ручной перенос плановых и фактических показателей из Excel в PowerPoint. Цифры уже собраны, расчёты понятны, структура отчёта почти не меняется. Однако каждую неделю приходится открывать прошлую презентацию, заменять значения, двигать подписи и проверять, не осталась ли где-нибудь старая дата.
Работа небольшая. Повторяется бесконечно.
При этом цена опечатки вполне осязаема: на слайде обсуждают число, которое разошлось с исходной таблицей. Или сравнивают показатели по диаграмме, у которой после обновления незаметно изменилась шкала. Хотелось сделать этот переход воспроизводимым: пользователь загружает новую таблицу, проверяет значения и получает очередной отчёт с теми же правилами оформления.
Так появился Report Slides — локальное приложение на Python, которое принимает CSV с планом и фактом и собирает редактируемый PPTX. Интерфейс открывается в браузере. Модель и API-ключ не нужны, пользовательские отчёты приложение само на диск не записывает.
Ниже я расскажу об устройстве генератора: строгом импорте, арифметике через Decimal, нативных диаграммах PowerPoint, встроенных книгах Excel и состоянии интерфейса. Больше всего внимания досталось местам, где маленькая утилита способна незаметно исказить результат.