Como Adicionar Linhas a uma Tabela em Documento do MS Word Usando C#

Como Adicionar Linhas a uma Tabela em Documento do MS Word Usando C#

Neste tutorial, você aprenderá como adicionar programaticamente linhas a uma tabela em um documento do MS Word usando C#. Você adicionará linhas em um índice específico e inserirá várias linhas vazias no final da tabela.

Benefícios de Adicionar Linhas a Tabelas em Documentos do Word

  1. Gerenciamento Dinâmico de Conteúdo:
    • Modifique facilmente tabelas existentes para se adequar a novos dados.
  2. Flexibilidade:
    • Ajuste estruturas de tabela programaticamente sem edições manuais.
  3. Automação:
    • Gerencie eficientemente os dados da tabela por meio de scripts automatizados.

Pré-requisitos: Preparando o Ambiente

  1. Tenha o Visual Studio ou qualquer IDE .NET instalada.
  2. Certifique-se de que a biblioteca Aspose.Words esteja disponível via NuGet.

Guia Passo a Passo para Adicionar Linhas a uma Tabela no Word

Passo 1: Instalar a Biblioteca Aspose.Words

Instale o pacote Aspose.Words usando o gerenciador de pacotes NuGet.

Install-Package Aspose.Words

Passo 2: Importar Namespaces Necessários

Inclua os namespaces Aspose.Words e Aspose.Words.Tables em seu projeto.

using Aspose.Words;
using Aspose.Words.Tables;

Passo 3: Abrir o Documento do Word

Carregue o documento existente do MS Word.

Document MSWordDocument = new Document(@"MS Word.docx");

Passo 4: Acessar a Tabela

Obtenha a Tabela pelo seu índice a partir do documento.

Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

Passo 5: Criar ou Clonar uma Linha

Crie uma nova Linha ou clone uma existente da Tabela.

Row row = new Row(MSWordDocument);

Passo 6: Adicionar Células à Linha

Adicione Células e texto à Linha.

for (int i = 0; i < 3; i++) 
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "Texto na Célula " + i));
    row.Cells.Add(cell);
}

Passo 7: Adicionar Linhas ao Final

Use RowCollection.Add para adicionar Linhas à Tabela.

tableToAddRowsTo.Rows.Add(row);

Passo 8: Inserir Linhas em um Índice Específico

Insira Linhas em um índice específico usando RowCollection.Insert.

tableToAddRowsTo.Rows.Insert(1, row);

Passo 9: Salvar o Documento Atualizado

Salve novamente o documento com as linhas adicionadas.

MSWordDocument.Save(@"Linhas Adicionadas à Tabela no MS Word.docx");

Código de Exemplo para Adicionar Linhas à Tabela no Word

Abaixo está o código completo para adicionar linhas a uma tabela:

// Abrir Documento do MS Word
Document MSWordDocument = new Document(@"input.docx");

// Obter a Tabela pelo índice
Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

// Criar um novo objeto da classe Row
Row row = new Row(MSWordDocument);

// Adicionar três Células à coleção de células da Linha
for (int i = 0; i < 3; i++)
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "Texto na Célula " + i));
    row.Cells.Add(cell);
}

// Inserir nova Linha após a primeira Linha
tableToAddRowsTo.Rows.Insert(1, row);

// Clonar uma Linha existente da Tabela
Row cloneOfRow = (Row)tableToAddRowsTo.FirstRow.Clone(true);

// Remover todo o conteúdo de todas as Células
foreach (Cell cell in cloneOfRow)
{
    cell.RemoveAllChildren();
    cell.EnsureMinimum();
}

// Adicionar várias linhas vazias ao final da tabela
for (int i = 0; i < 10; i++)
{
    Row emptyRow = (Row)cloneOfRow.Clone(true);
    tableToAddRowsTo.Rows.Add(emptyRow);
}

// Salvar documento atualizado
MSWordDocument.Save(@"output.docx");

Conclusão

Este tutorial demonstrou como adicionar linhas a uma tabela em um documento do MS Word usando C#. Ao seguir estes passos, você pode gerenciar e modificar efetivamente tabelas dentro de documentos do Word programaticamente.

 Português