Como adicionar linhas à tabela no DOCX usando C++

Neste tópico, aprenderemos como adicionar linhas à tabela em DOCX usando C++. As tabelas têm ampla utilidade dentro do documento do Word e você pode inserir facilmente linhas dentro da tabela do documento do Word usando uma interface de API C++ muito simples.

Etapas para inserir linhas dentro da tabela no DOCX usando C++

  1. Instale o Aspose.Words.Cpp usando o Gerenciador de pacotes NuGet
  2. Adicionar referência aos namespaces Aspose::Words e Aspose::Words::Tables
  3. Instancie o objeto Document Class para carregar o documento para gerenciar as linhas da tabela
  4. Acesse a tabela na primeira seção usando o objeto Table Class
  5. Adicionar linhas na tabela usando várias opções
  6. Salve o documento do Word com a linha da tabela no formato DOCX usando o método Save

No exemplo a seguir, mostramos como você pode inserir linhas do zero dentro da tabela de um documento do Word. Ele também descreve como você pode clonar linhas existentes dentro da tabela e adicionar novas usando linhas clonadas dentro da tabela DOCX.

Código para inserir linhas dentro da tabela em DOCX usando C++

#pragma once
#include <cstdint>
#include <iostream>
#include <Aspose.Words.Cpp/Document.h>
#include <Aspose.Words.Cpp/Section.h>
#include <Aspose.Words.Cpp/Body.h>
#include <Aspose.Words.Cpp/Paragraph.h>
#include <Aspose.Words.Cpp/DocumentBase.h>
#include <Aspose.Words.Cpp/DocumentBuilder.h>
#include <Aspose.Words.Cpp/Drawing/Shape.h>
#include <Aspose.Words.Cpp/HeaderFooterType.h>
#include <Aspose.Words.Cpp/Saving/SaveOutputParameters.h>
#include <system/array.h>
#include <system/exceptions.h>
#include <Aspose.Words.Cpp/Tables/Cell.h>
#include <Aspose.Words.Cpp/Tables/CellCollection.h>
#include <Aspose.Words.Cpp/Tables/CellFormat.h>
#include <Aspose.Words.Cpp/Tables/PreferredWidth.h>
#include <Aspose.Words.Cpp/Tables/Row.h>
#include <Aspose.Words.Cpp/Tables/RowCollection.h>
#include <Aspose.Words.Cpp/Tables/Table.h>
#include <Aspose.Words.Cpp/Tables/TableCollection.h>
//#include <Aspose.Words.Cpp/Tables/Tables.h>s
#include <Aspose.Words.Cpp/Run.h>
#include <Aspose.Words.Cpp/RunCollection.h>
#include <system/enumerator_adapter.h>
#include <Aspose.Words.Cpp/License.h>
#include <system/io/path.h>
using System::ArrayPtr;
using System::MakeArray;
using System::MakeObject;
using System::SharedPtr;
using System::String;
using namespace Aspose::Words;
using namespace Aspose::Words::Tables;
class AddTableInWordDocumentUsingCpp
{
public:
void AddTableRows()
{
// Load and Set API License
System::String LicFilePath = u"Aspose.Total.CPP.lic";
SharedPtr<License> WordsCPPLicenseForTable = System::MakeObject<License>();
// Setting product license
WordsCPPLicenseForTable->SetLicense(LicFilePath);
// Instantiate Document class to load document for managing table
SharedPtr<Document> AddTableToDOCX = MakeObject<Document>(u"WordDocument.docx");
// Access the Table by index in first section
SharedPtr <Table> tableToAddRowsTo = AddTableToDOCX->get_FirstSection()->get_Body()
->get_Tables()->idx_get(0);
// Instantiate a new Row Object
SharedPtr <Row> row = MakeObject<Row>(AddTableToDOCX);
// Add 3 Cells for added Row by accessing it cells collection
for (int iRowIndex = 0; iRowIndex < 3; iRowIndex++)
{
SharedPtr < Cell> cell = MakeObject <Cell>(AddTableToDOCX);
cell->AppendChild(MakeObject <Paragraph>(AddTableToDOCX));
cell->get_FirstParagraph()->get_Runs()->Add(MakeObject <Run>(AddTableToDOCX, u"Text in Cell " + iRowIndex));
row->get_Cells()->Add(cell);
}
// Insert the Row after first row in table
tableToAddRowsTo->get_Rows()->Insert(1, row);
// Now, clone the existing Row in Table
SharedPtr <Row> cloneOfRow = System::DynamicCast<Row>(tableToAddRowsTo->get_FirstRow()->Clone(true));
// Clear all content from all Cells of the row
for(SharedPtr<Node> node : cloneOfRow->get_Cells())
{
SharedPtr<Cell> cell = System::DynamicCast<Cell>(node);
cell->RemoveAllChildren();
cell->EnsureMinimum();
}
// Now see, how to add multiple empty rows at the end of table
for (int iRowCounter = 0; iRowCounter < 10; iRowCounter++)
{
SharedPtr<Row> emptyRow = System::DynamicCast<Row>(cloneOfRow->Clone(true));
tableToAddRowsTo->get_Rows()->Add(emptyRow);
}
// Save the word document with table to DOCX format
AddTableToDOCX->Save(u"InsertTableinDocx.docx");
}
};

No exemplo anterior, analisamos Como inserir cabeçalho e rodapé no DOCX usando C++. Enquanto neste tópico, aprendemos sobre adicionar linhas à tabela de um documento do Word usando C++.

 Português