Найти тему
SoftSAR

Автозаполнение документов в word с помощью Python

Нам часто приходится заполнять шаблонные документы договора, приказы, распоряжения, отчеты и справки, аналитические записки, заявки и формы и др. Заполнение этих документов в основном осуществляется из внешних файлов (таблица Excel/Word/PDF, база данных). Данная операция занимает много времени и сил, постоянно повторяющиеся рутинные действия можно и нужно автоматизировать. В данной статье мы рассмотрим создание умного шаблона Word, а также изучим методы автоматизации процесса его заполнения с помощью Python.

Мы создадим программу AutoDoc, которая автоматически заполняет шаблоны документов: договоров, приказов, распоряжений, отчетов и справок, аналитических записок, заявок и форм и др, данными из файла Excel.

Знания и умения автоматизировать процессы заполнения шаблонных документов, позволят вам сэкономить время и силы, исключит ошибки при переносе данных из Excel таблицы.

Используемые инструменты: Microsoft Word- для создания шаблона документов, Python, библиотеки docxtpl для работы с шаблонами докуменов, openpyxl - для получения данных из файла Excel.

1) Устанавливаем необходимые библиотеки через командную строку:

pip install docxtpl
pip install openpyxl

2) Создаем структуру шаблонного документа, акта об оказании услуг.

-2

3) Далее в шаблоне документа необходимо наложить печать, факсимиле и другие элементы, которые будут оставаться неизменными. Используем для этого — MS Word.

4) Далее в теле шаблонного документа необходимо в нужных местах, где мы будем подставлять данные, записать текстовую переменную заключенную в двойные фигурные скобки - {{document_number}}, {{document_date}}, {{Name_client}}и так далее. Переменная должна быть записана в одно слово на русском или английском языке.

-3

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