Twórz i manipuluj tabelami w programie PowerPoint C#

Tabele służą do uporządkowania danych w postaci wierszy i kolumn. Ponadto organizują i podsumowują dane, aby można je było łatwo przeglądać i analizować. MS PowerPoint umożliwia również wstawianie tabel w prezentacjach. W związku z tym w tym artykule opisano, jak tworzyć tabele i manipulować nimi w prezentacjach programu PowerPoint przy użyciu języka C#.

C# API do tworzenia i manipulowania tabelami w programie PowerPoint

Do tworzenia i manipulowania tabelami w prezentacjach PowerPoint użyjemy Aspose.Slides for .NET. Interfejs API umożliwia tworzenie, modyfikowanie i konwertowanie dokumentów PowerPoint i OpenOffice. Możesz pobrać bibliotekę DLL API i dodać do niej odniesienie w swoim projekcie. Możesz także zainstalować go za pomocą NuGet.

PM> Install-Package Aspose.Slides.NET

Utwórz tabelę w prezentacjach PowerPoint przy użyciu języka C#

Tworzenie tabeli za pomocą Aspose.Slides for .NET to bułka z masłem. Poniższe kroki pokazują, jak utworzyć tabelę w prezentacji programu PowerPoint przy użyciu języka C#.

  • Najpierw utwórz nową prezentację lub załaduj istniejącą, używając klasy Presentation.
  • Następnie pobierz referencję żądanego slajdu do obiektu ISlide.
  • Zdefiniuj odpowiednio szerokość i wysokość kolumn i wierszy w tablicach typu double[].
  • Wstaw nową tabelę w prezentacji metodą ISlide.Shapes.AddTable().
  • Pobierz odwołanie do nowo utworzonej tabeli w obiekcie ITable.
  • Utwórz pętlę, aby przeglądać wiersze tabeli.
  • Utwórz zagnieżdżoną pętlę, aby przeglądać komórki tabeli i w każdej iteracji wykonać następujące operacje.
  • Na koniec zapisz prezentację za pomocą metody Presentation.Save(String, SaveFormat).

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę w prezentacji programu PowerPoint.

// Utwórz lub załaduj prezentację
Presentation pres = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide sld = pres.Slides[0];

// Zdefiniuj kolumny z szerokościami i wiersze z wysokościami
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Dodaj kształt tabeli do slajdu
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Ustaw format obramowania i tekst dla każdej komórki
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{  
		// Dodaj tekst do komórki
		tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;

		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// Zapisz PPTX na dysku
pres.Save("table.pptx", SaveFormat.Pptx);

Poniższy zrzut ekranu przedstawia tabelę, którą utworzyliśmy przy użyciu powyższego kodu.

Utwórz tabelę w programie PowerPoint C#

Uzyskaj dostęp do tabeli w prezentacji przy użyciu języka C#

Możesz także uzyskać dostęp do tabel w istniejących prezentacjach PowerPoint i manipulować nimi zgodnie z wymaganiami. Poniżej przedstawiono kroki, aby uzyskać dostęp do tabel w prezentacji.

  • Najpierw załaduj istniejącą prezentację za pomocą klasy Presentation.
  • Następnie pobierz referencję żądanego slajdu do obiektu ISlide.
  • Utwórz instancję ITable i zainicjuj ją wartością null.
  • Przejrzyj wszystkie obiekty IShape w kolekcji ISlide.Shapes.
  • Filtruj kształty typu ITable.
  • Wpisz rzutowanie kształtu w ITable i manipuluj nim zgodnie z wymaganiami.
  • Na koniec zapisz prezentację metodą Presentation.Save(String, SaveFormat).

Poniższy przykładowy kod pokazuje, jak uzyskać dostęp do tabel w prezentacji programu PowerPoint przy użyciu języka C#.

// Załaduj prezentację
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
    // Uzyskaj dostęp do pierwszego slajdu
    ISlide sld = pres.Slides[0];

    // Zainicjuj null TableEx
    ITable tbl = null;

    // Przejrzyj kształty i ustaw odniesienie do znalezionej tabeli
    foreach (IShape shp in sld.Shapes)
        if (shp is ITable)
            tbl = (ITable)shp;

    // Ustaw tekst pierwszej kolumny drugiego wiersza
    tbl[0, 1].TextFrame.Text = "New";

    //Zapisz PPTX na dysku
    pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Formatuj tekst w tabelach PowerPoint za pomocą C#

Aspose.Slides for .NET pozwala również dość łatwo ustawić formatowanie tabel, jak pokazano w poniższych krokach.

Poniższy przykładowy kod pokazuje, jak ustawić formatowanie tabeli w programie PowerPoint przy użyciu języka C#.

// Utwórz lub załaduj prezentację
Presentation presentation = new Presentation();

// Pobierz odwołanie do slajdu
ISlide slide = presentation.Slides[0];

// Pobierz odwołanie do tabeli
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// Ustaw wysokość czcionki komórek tabeli
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);

// Ustaw wyrównanie tekstu komórek tabeli i prawy margines w jednym wywołaniu
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);

// Ustaw pionowy typ tekstu komórek tabeli
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);

// Zapisz prezentację
presentation.Save("result.pptx", SaveFormat.Pptx);

Zablokuj współczynnik proporcji tabel w programie PowerPoint przy użyciu języka C#

Możesz także zablokować współczynnik proporcji tabel w prezentacjach programu PowerPoint przy użyciu języka C#. Poniżej przedstawiono kroki, aby to osiągnąć.

Poniższy przykładowy kod pokazuje, jak zablokować współczynnik proporcji tabeli w prezentacjach programu PowerPoint.

// Załaduj prezentację
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Pobierz odwołanie do tabeli
    ITable table = (ITable)pres.Slides[0].Shapes[0];
    Console.WriteLine($"Zablokuj proporcje set: {table.ShapeLock.AspectRatioLocked}");

    // Zablokuj proporcje
    table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
    Console.WriteLine($"Zablokuj proporcje set: {table.ShapeLock.AspectRatioLocked}");

    // Zapisz prezentację
    pres.Save("pres-out.pptx", SaveFormat.Pptx);
}

Uzyskaj bezpłatną licencję API

Możesz używać Aspose.Slides for .NET bez ograniczeń ewaluacyjnych, otrzymując bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć tabele w prezentacjach programu PowerPoint przy użyciu języka C#. Ponadto widziałeś, jak programowo uzyskiwać dostęp do istniejących tabel w prezentacjach PowerPoint i manipulować nimi. Ponadto możesz odwiedzić dokumentację, aby dowiedzieć się więcej o Aspose.Slides for .NET. Możesz także zadawać pytania za pośrednictwem naszego forum.

Zobacz też