Como criar documento Word com Python
Neste tutorial veremos como gerar um documento do Word utilizando o python.
Introdução
Este será um tutorial rápido e útil para o dia-a-dia na geração de documentos e relatórios automatizados usando o python, com isso você verá como criar documento Word com Python.
O que é o Python?
O Python é uma linguagem de programação de alto nível, interpretada, orientada a objetos, funcional, e possui uma tipagem tanto dinâmica quanto forte. O Python foi lançada em 1991 e seu criador foi Guido Van Rossum.
O que é a python-docx?
Python-docx é uma biblioteca utilizada para criar e atualizar arquivos Microsoft Word (.docx).
Requisitos para execução deste tutorial:
- Python 3.x;
- python-docx;
Como criar documento do Word utilizando o Python.
Antes de iniciar a codificação precisamos adicionar a lib python-docx
, então vamos adiciona-la usando o comando abaixo no terminal:
pip install python-docx
Pronto com a lib instalada, vamos importa a lib no código:
from docx import Document
from docx.shared import Inches
1ª Criamos uma instância do Documento.
document = Document()
Adicionamos um título ao documento.
document.add_heading('Título do Documento', level=0)
Adicionamos um parágrafo e configuramos a estilização.
p = document.add_paragraph('Um simples parágrafo, ')
p.add_run('frase com estilo bold').bold = True # Estiliza a frase com bold
p.add_run('frase com estilo italic.').italic = True #Estiliza a frase com italic
Com o código abaixo adicionamos um subtítulo ao documento :
document.add_heading('SubTítulo do Documento, level 1', level=1)
Para adicionar um parágrafo ao documento com uma lista não ordenada, vamos utilizar o comando:
document.add_paragraph(
'Item da lista', style='List Bullet'
)
Adiciona um parágrafo com uma lista ordenada:
document.add_paragraph(
'Item ordenado', style='List Number'
)
Adiciona uma imagem ao documento, informando o tamanho da imagem em polegadas.
document.add_picture('./python-logo.png', width=Inches(1.25))
Cria uma tupla coms os dados a serem inseridos na tabela.
dados = (
(1, 'Carla'),
(2, 'Paulo'),
(3, 'Lara')
)
Após criar a tupla , será a vez da criação da tabela, com a definição de (1) linha e (2) colunas.
table = document.add_table(rows=1, cols=2)
Logo após criar a tabela vamos configura a primeira linha da tabela para popular o cabeçalho.
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Id'
hdr_cells[1].text = 'Nome'
Aqui mostro como percorrer a tupla e preencher as informações na tabela
for id, nome in dados:
row_cells = table.add_row().cells
row_cells[0].text = str(id)
row_cells[1].text = nome
Adiciona uma quebra de linha ao documento.
document.add_page_break()
Salva o documento gerado em um arquivo docx.
document.save('documento.docx')
Ao executar o código acima, será gerado um documento do Word igual ao da figura abaixo:

Código fonte do tutorial: