Tabela formatada

Neste tutorial, aprenderemos como criar uma tabela formatada em um documento Word usando Aspose.Words for .NET. Seguiremos um guia passo a passo para entender o código e implementar esse recurso. Ao final deste tutorial, você poderá criar tabelas com formatação personalizada em seus documentos do Word de forma programática.

Etapa 1: configuração do projeto

  1. Inicie o Visual Studio e crie um novo projeto C#.
  2. Adicione uma referência à biblioteca Aspose.Words for .NET.

Passo 2: Criando o documento e inicializando o gerador de documentos

Para começar a construir a tabela formatada, precisamos criar um novo documento e inicializar o gerador de documentos. Siga esses passos:

// Caminho para o seu diretório de documentos
string dataDir = "YOUR DOCUMENTS DIRECTORY";

// Crie o documento e inicialize o gerador de documentos
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Certifique-se de substituir “SEU DIRETÓRIO DE DOCUMENTOS” pelo caminho real para o diretório de documentos.

Etapa 3: Construindo a Tabela Formatada

seguir, construiremos a tabela formatada usando os métodos fornecidos pelo construtor de documentos. Use o seguinte código:

// Comece a construção do array
Table table = builder. StartTable();

// Construção da linha do cabeçalho da tabela
builder. InsertCell();
table. LeftIndent = 20.0;
builder.RowFormat.Height = 40.0;
builder.RowFormat.HeightRule = HeightRule.AtLeast;
builder.CellFormat.Shading.BackgroundPatternColor = Color.FromArgb(198, 217, 241);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Font.Size = 16;
builder.Font.Name = "Arial";
builder.Font.Bold = true;
builder.CellFormat.Width = 100.0;
builder.Write("Header Row,\n Cell 1");

builder. InsertCell();
builder.Write("Header Row,\n Cell 2");

builder. InsertCell();
builder.CellFormat.Width = 200.0;
builder.Write("Header Row,\n Cell 3");

builder. EndRow();

// Construção do corpo da matriz
builder.CellFormat.Shading.BackgroundPatternColor = Color.White;
builder.CellFormat.Width = 100.0;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.RowFormat.Height = 30.0;
builder.RowFormat.HeightRule = HeightRule.Auto;

builder. InsertCell();
builder.Font.Size = 12;
builder.Font.Bold = false;
builder.Write("Content Line 1, Cell 1");

builder. InsertCell();
builder.Write("Content Line 1, Cell 2");

builder. InsertCell();
builder.CellFormat.Width = 200.0;
builder.Write("Content Line 1, Cell

3");

builder. EndRow();

builder. InsertCell();
builder.CellFormat.Width = 100.0;
builder.Write("Content Line 2, Cell 1");

builder. InsertCell();
builder.Write("Content Line 2, Cell 2");

builder. InsertCell();
builder.CellFormat.Width = 200.0;
builder.Write("Content Line 2, Cell 3");

builder. EndRow();

// Fim da construção do array
builder. EndTable();

Aqui usamos o construtor de documentos para construir a tabela passo a passo. Começamos ligandoStartTable() para inicializar a tabela. Então usamosInsertCell() para inserir células eWrite() para adicionar conteúdo a cada célula. Também usamos diferentes propriedades de formatação para definir a formatação de linhas, células e texto da tabela.

Etapa 4: salve o documento

Por fim, precisamos salvar o documento que contém a tabela formatada. Use o seguinte código:

// Salve o documento
doc.Save(dataDir + "WorkingWithTables.FormattedTable.docx");

Certifique-se de especificar o caminho e o nome de arquivo corretos para o documento de saída.

Exemplo de código-fonte para tabela formatada usando Aspose.Words for .NET

	// Caminho para o diretório do seu documento
	string dataDir = "YOUR DOCUMENT DIRECTORY";

	Document doc = new Document();
	DocumentBuilder builder = new DocumentBuilder(doc);
	Table table = builder.StartTable();
	builder.InsertCell();
	// A formatação de toda a tabela deve ser aplicada depois que pelo menos uma linha estiver presente na tabela.
	table.LeftIndent = 20.0;
	// Defina a altura e defina a regra de altura para a linha do cabeçalho.
	builder.RowFormat.Height = 40.0;
	builder.RowFormat.HeightRule = HeightRule.AtLeast;
	builder.CellFormat.Shading.BackgroundPatternColor = Color.FromArgb(198, 217, 241);
	builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
	builder.Font.Size = 16;
	builder.Font.Name = "Arial";
	builder.Font.Bold = true;
	builder.CellFormat.Width = 100.0;
	builder.Write("Header Row,\n Cell 1");
	// Não precisamos especificar a largura desta célula porque ela é herdada da célula anterior.
	builder.InsertCell();
	builder.Write("Header Row,\n Cell 2");
	builder.InsertCell();
	builder.CellFormat.Width = 200.0;
	builder.Write("Header Row,\n Cell 3");
	builder.EndRow();
	builder.CellFormat.Shading.BackgroundPatternColor = Color.White;
	builder.CellFormat.Width = 100.0;
	builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
	// Redefina a altura e defina uma regra de altura diferente para o corpo da tabela.
	builder.RowFormat.Height = 30.0;
	builder.RowFormat.HeightRule = HeightRule.Auto;
	builder.InsertCell();
	// Redefinir a formatação da fonte.
	builder.Font.Size = 12;
	builder.Font.Bold = false;
	builder.Write("Row 1, Cell 1 Content");
	builder.InsertCell();
	builder.Write("Row 1, Cell 2 Content");
	builder.InsertCell();
	builder.CellFormat.Width = 200.0;
	builder.Write("Row 1, Cell 3 Content");
	builder.EndRow();
	builder.InsertCell();
	builder.CellFormat.Width = 100.0;
	builder.Write("Row 2, Cell 1 Content");
	builder.InsertCell();
	builder.Write("Row 2, Cell 2 Content");
	builder.InsertCell();
	builder.CellFormat.Width = 200.0;
	builder.Write("Row 2, Cell 3 Content.");
	builder.EndRow();
	builder.EndTable();
	doc.Save(dataDir + "WorkingWithTables.FormattedTable.docx");

Conclusão

Neste tutorial, aprendemos como criar uma tabela formatada em um documento Word usando Aspose.Words for .NET. Seguindo este guia passo a passo e implementando o código C# fornecido, você pode criar tabelas personalizadas com formatação específica em seus documentos do Word de forma programática. Este recurso permite apresentar e estruturar seus dados de forma visualmente atraente e organizada.