Knowledgebase

Tabelas em Python | Aspose

Neste artigo trabalharemos com tabelas em Python, mostraremos a maneira mais fácil de criar uma tabela e manipular os dados dentro dela. Usando nossa API, você pode manipular tabelas e exportá‑las para diferentes formatos, como Word, Excel, PDF, etc.
Apresentaremos o Aspose.Words for Python via .NET e nos concentraremos na criação e inserção de tabelas usando esta API.

Tabelas em Python

Aspose.Words for Python via .NET é uma biblioteca de classes projetada para ler e manipular documentos de vários tipos, como Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF e outros. Com esta API Python, você pode criar, editar, renderizar e converter arquivos Word para múltiplos formatos, gerar relatórios e visualizar seus dados sem a necessidade de software externo.
Mais de 100 classes Python para lidar com processamento de documentos e operações de formatação de dados estão à sua disposição.

Trabalhando com Tabelas em Python

As tabelas permitem organizar grandes quantidades de informação e exibi‑las em uma estrutura em forma de grade com linhas e colunas. Elas são muito úteis ao exibir dados tabulados, pois permitem um controle muito melhor sobre o design do conteúdo.
As tabelas são conjuntos estruturados de dados compostos por linhas e colunas. Elas são totalmente suportadas em nossa biblioteca, e você pode editar, alterar, adicionar e remover tabelas com facilidade.
A seguir, mostraremos como criar uma nova tabela usando Python e, em nossa documentação, você pode ver como aplicar formatação , trabalhar com TableStyle , trabalhar com colunas e linhas , e unir e dividir tabelas .

Criando tabelas em Python

Nossa biblioteca oferece diferentes métodos para criar novas tabelas dentro de um documento, e neste artigo veremos como usar alguns desses métodos.
A tabela recém‑criada tem valores semelhantes aos valores padrão do Microsoft Word.

Propriedade da tabela Python

Você pode inserir uma tabela usando a classe DocumentBuilder , e o seguinte método para construir a tabela:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Métodos de construção de tabela Python

Crie uma tabela em Python usando estas 7 etapas:

  1. Inicie a tabela com DocumentBuilder.start_table.
  2. Use DocumentBuilder.insert_cell para inserir uma célula dentro da tabela e use DocumentBuilder.cell_format para especificar a formatação da célula.
  3. Use o DocumentBuilder para inserir o conteúdo da célula.
  4. Apenas repita as etapas 2 e 3 até completar a linha.
  5. Você pode chamar o método DocumentBuilder.end_row para encerrar a linha e usar DocumentBuilder.row_format para formatar a linha.
  6. Depois disso, basta repetir as etapas 2 a 5 até completar a tabela.
  7. Use o método DocumentBuilder.end_table para finalizar a tabela.

Mais detalhes sobre a classe DocumentBuilder e métodos para criação de tabelas são descritos em nossa documentação .

No exemplo abaixo você pode ver como criar uma tabela simples com formatação padrão usando DocumentBuilder.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
    
# Start building the table.
builder.start_table()
builder.insert_cell()
builder.write("Row 1, Cell 1 Content.")
    
# Build the second cell.
builder.insert_cell()
builder.write("Row 1, Cell 2 Content.")
    
# Call the following method to end the row and start a new row.
builder.end_row()

# Build the first cell of the second row.
builder.insert_cell()
builder.write("Row 2, Cell 1 Content")

# Build the second cell.
builder.insert_cell()
builder.write("Row 2, Cell 2 Content.")
builder.end_row()

# Signal that we have finished building the table.
builder.end_table()

doc.save(docs_base.artifacts_dir + "WorkingWithTables.create_simple_table.docx")

Crie uma tabela formatada usando o DocumentBuilder com o exemplo de código mostrado abaixo.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

table = builder.start_table()
builder.insert_cell()

# Table wide formatting must be applied after at least one row is present in the table.
table.left_indent = 20.0

# Set height and define the height rule for the header row.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

builder.cell_format.shading.background_pattern_color = drawing.Color.from_argb(198, 217, 241)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True

builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")

# We don't need to specify this cell's width because it's inherited from the previous cell.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()

builder.cell_format.shading.background_pattern_color = drawing.Color.white
builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

# Reset height and define a different height rule for table body.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()
    
# Reset font formatting.
builder.font.size = 12
builder.font.bold = False

builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()

builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")

builder.insert_cell()
builder.write("Row 2, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()
builder.end_table()

doc.save(docs_base.artifacts_dir + "WorkingWithTables.formatted_table.docx")

Inserindo uma tabela existente

Se você já tem uma tabela em seu documento e deseja adicionar uma cópia dela para fazer algumas alterações, a maneira mais fácil de duplicar uma tabela é usando o método Table.clone para manter toda a formatação.
No exemplo mostrado abaixo, você pode ver como inserir uma tabela e, se precisar do arquivo de modelo deste exemplo, pode baixá‑lo aqui .

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Tables.docx")

table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# Clone the table and insert it into the document after the original.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# Insert an empty paragraph between the two tables,
# or else they will be combined into one upon saving this has to do with document validation.
table.parent_node.insert_after(aw.Paragraph(doc), table)
    
doc.save(docs_base.artifacts_dir + "WorkingWithTables.clone_complete_table.docx")

Se você tem dúvidas sobre tabelas, produtos Aspose.Words for Python via .NET e precisa de ajuda dos nossos desenvolvedores de Suporte Pago para implementar nossa API em seu projeto, sinta‑se à vontade para entrar em contato conosco .