Skapa och manipulera tabeller i PowerPoint med C++

Microsoft PowerPoint ger möjlighet att infoga tabeller i PowerPoint-presentationer. Med tabeller kan du ordna data i form av rader och kolumner. Dessutom organiserar de data och gör det enkelt att se och analysera det. För detta ändamål kommer den här artikeln att lära dig hur du skapar och manipulerar tabeller i PowerPoint-presentationer med C++.

C++ API för att skapa och manipulera tabeller i PowerPoint-presentationer

Vi kommer att använda Aspose.Slides for C++ API för att skapa och manipulera tabeller i PowerPoint-presentationer. Det är ett kraftfullt och funktionsrikt API som stöder att skapa, läsa och ändra PowerPoint-filer utan att Mircosoft PowerPoint behöver installeras. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.Slides.Cpp

Skapa en tabell i PowerPoint-presentationer med C++

Följande är stegen för att skapa en tabell i PowerPoint-presentationer.

Följande exempelkod visar hur man skapar en tabell i en PowerPoint-presentation med C++.

// Sökväg
const String outputFilePath = u"OutputDirectory\\CreateTable_out.pptx";

// Skapa en instans av klassen Presentation
auto presentation = System::MakeObject<Presentation>();

// Få tillgång till första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Definiera kolumner med bredder och rader med höjder
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// Lägg till bordsform för att glida
SharedPtr<ITable> table = slide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);

// Ställ in ramformat för varje cell
for (int x = 0; x < table->get_Rows()->get_Count(); x++)
{
	SharedPtr<IRow> row = table->get_Rows()->idx_get(x);
	for (int y = 0; y < row->get_Count(); y++)
	{
		SharedPtr<ICell> cell = row->idx_get(y);

		cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderTop()->set_Width(5);

		cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderBottom()->set_Width(5);

		cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderLeft()->set_Width(5);

		cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderRight()->set_Width(5);
	}
}

// Spara presentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Tabell genererad av exempelkoden

Tabell genererad av exempelkoden

Få åtkomst till och ändra en tabell i PowerPoint-presentationer med C++

Du kan också komma åt och ändra befintliga tabeller i PowerPoint-presentationer. Följande är stegen för att komma åt och ändra en tabell i PowerPoint-presentationer.

Följande exempelkod visar hur du kommer åt och ändrar en tabell i en PowerPoint-presentation med C++.

// Filsökvägar
const String sourceFilePath = u"OutputDirectory\\CreateTable_out.pptx";
const String outputFilePath = u"OutputDirectory\\AccessTable_out.pptx";

// Ladda presentationsfilen
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Få tillgång till första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Gå till bordet
SharedPtr<ITable> table;

for (SharedPtr<IShape> shape : slide->get_Shapes())
{
	if (System::ObjectExt::Is<ITable>(shape)) {
		table = System::DynamicCast_noexcept<ITable>(shape);
	}
}

// Ställ in text
table->idx_get(0, 1)->get_TextFrame()->set_Text(u"Aspose");

// Spara presentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Ställ in textriktning i en PowerPoint-tabell med C++

Följande är stegen för att ställa in textens riktning i PowerPoint-tabeller.

Följande exempelkod visar hur du ställer in textens riktning i en PowerPoint-tabell med C++.

// Filsökvägar
const String sourceFilePath = u"SourceDirectory\\Slides\\PresentationWithTable.pptx";
const String outputFilePath = u"OutputDirectory\\SetTextDirectionInTable_out.pptx";

// Ladda presentationsfilen
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Få tillgång till första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Gå till bordet
SharedPtr<ITable> table;

for (SharedPtr<IShape> shape : slide->get_Shapes())
{
	if (System::ObjectExt::Is<ITable>(shape)) {
		table = System::DynamicCast_noexcept<ITable>(shape);
	}
}

// Ställ in textriktning
SharedPtr<ICell> cell = table->idx_get(0, 1);
cell->set_TextAnchorType(TextAnchorType::Center);
cell->set_TextVerticalType(TextVerticalType::Vertical270);

// Spara presentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Bild av utdata som genereras av exempelkoden

Bild av utdata som genereras av exempelkoden

Skaffa en gratis licens

För att prova API:et utan utvärderingsbegränsningar kan du begära en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du skapar och uppdaterar tabeller i PowerPoint-presentationer. Dessutom har du sett hur du ställer in textens riktning i PowerPoint-tabeller med Aspose.Slides för C++ API. Det är ett robust API som ger ett gäng ytterligare funktioner för att arbeta med PowerPoint-filer. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även