Нам часто приходится заполнять шаблонные документы договора, приказы, распоряжения, отчеты и справки, аналитические записки, заявки и формы и др. Заполнение этих документов в основном осуществляется из внешних файлов (таблица Excel/Word/PDF, база данных). Данная операция занимает много времени и сил, постоянно повторяющиеся рутинные действия можно и нужно автоматизировать. В данной статье мы рассмотрим создание умного шаблона Word, а также изучим методы автоматизации процесса его заполнения с помощью Python.
Мы создадим программу AutoDoc, которая автоматически заполняет шаблоны документов: договоров, приказов, распоряжений, отчетов и справок, аналитических записок, заявок и форм и др, данными из файла Excel.
Знания и умения автоматизировать процессы заполнения шаблонных документов, позволят вам сэкономить время и силы, исключит ошибки при переносе данных из Excel таблицы.
Используемые инструменты: Microsoft Word- для создания шаблона документов, Python, библиотеки docxtpl для работы с шаблонами докуменов, openpyxl - для получения данных из файла Excel.
1) Устанавливаем необходимые библиотеки через командную строку:
pip install docxtpl
pip install openpyxl
2) Создаем структуру шаблонного документа, акта об оказании услуг.
3) Далее в шаблоне документа необходимо наложить печать, факсимиле и другие элементы, которые будут оставаться неизменными. Используем для этого — MS Word.
4) Далее в теле шаблонного документа необходимо в нужных местах, где мы будем подставлять данные, записать текстовую переменную заключенную в двойные фигурные скобки - {{document_number}}, {{document_date}}, {{Name_client}}и так далее. Переменная должна быть записана в одно слово на русском или английском языке.
5) Данные для заполнения мы извлекаем из файла Excel.
6) Импортируем необходимые библиотеки и модули и создаем структуру проекта.
7) С помощью следующего блока программного кода читаем данные из Excel-листа в Python framework.
8) Заполняем шаблонный документ данными из Excel.
9) Весь код проекта. Вначале мы импортируем необходимы библиотеки. Запрашиваем у пользователя файл Excel с данными. Открываем файл на чтение, подробнее о работе с файлами Excel, можно узнать в статьях Python работа с файлами Excel, Работа с файлами xlsx при помощи библиотеки Openpyxl. Циклом проходим по заполненным строкам и считываем данные записывая их в список. После вызываем функцию заполнения шаблонных документов. Распаковываем значения в переменные, открываем шаблон, заменяем переменные в файле шаблона данными из Excel. Сохраняем шаблон.
На выходе при исполнении программы мы получим готовые заполненные документы.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am