Vytváření a manipulace s tabulkami v PowerPointu C#

Tabulky slouží k uspořádání dat ve formě řádků a sloupců. Kromě toho organizují a shrnují data tak, aby je bylo možné snadno prohlížet a analyzovat. MS PowerPoint také umožňuje vkládat do prezentací tabulky. V souladu s tím tento článek popisuje, jak vytvářet a manipulovat s tabulkami v prezentacích PowerPoint pomocí C#.

C# API pro vytváření a manipulaci s tabulkami v PowerPointu

K vytváření a manipulaci s tabulkami v prezentacích PowerPoint použijeme Aspose.Slides for .NET. Rozhraní API vám umožňuje vytvářet, manipulovat a převádět dokumenty PowerPoint a OpenOffice. Můžete si stáhnout DLL rozhraní API a přidat na něj odkaz do svého projektu. Můžete jej také nainstalovat pomocí NuGet.

PM> Install-Package Aspose.Slides.NET

Vytvoření tabulky v prezentacích PowerPoint pomocí C#

Vytvoření tabulky pomocí Aspose.Slides for .NET je hračka. Následující kroky ukazují, jak vytvořit tabulku v prezentaci PowerPoint pomocí C#.

  • Nejprve vytvořte novou prezentaci nebo načtěte existující pomocí třídy Presentation.
  • Poté získejte odkaz na požadovaný snímek do objektu ISlide.
  • Definujte šířku a výšku sloupců a řádků v polích double[].
  • Vložte novou tabulku do prezentace pomocí metody ISlide.Shapes.AddTable().
  • Získejte odkaz na nově vytvořenou tabulku v objektu ITable.
  • Vytvořte smyčku pro iteraci řádků tabulky.
  • Vytvořte vnořenou smyčku pro iteraci buněk tabulky a v každé iteraci proveďte následující operace.
  • Nakonec prezentaci uložte pomocí metody Presentation.Save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak vytvořit tabulku v prezentaci aplikace PowerPoint.

// Vytvořte nebo načtěte prezentaci
Presentation pres = new Presentation();

// Přístup k prvnímu snímku
ISlide sld = pres.Slides[0];

// Definujte sloupce s šířkami a řádky s výškou
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Přidejte na snímek tvar tabulky
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Nastavte formát ohraničení a text pro každou buňku
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{  
		// Přidejte text do buňky
		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;
	}
}

// Uložte PPTX na disk
pres.Save("table.pptx", SaveFormat.Pptx);

Následující snímek obrazovky ukazuje tabulku, kterou jsme vytvořili pomocí výše uvedeného kódu.

Vytvořit tabulku v PowerPointu C#

Přístup k tabulce v prezentaci pomocí C#

Můžete také přistupovat k tabulkám ve stávajících prezentacích PowerPoint a manipulovat s nimi podle potřeby. Následují kroky pro přístup k tabulkám v prezentaci.

  • Nejprve načtěte existující prezentaci pomocí třídy Presentation.
  • Poté získejte odkaz na požadovaný snímek do objektu ISlide.
  • Vytvořte instanci ITable a inicializujte ji s hodnotou null.
  • Iterujte všechny objekty IShape v kolekci ISlide.Shapes.
  • Filtrujte tvary typu ITable.
  • Zadejte přetypování tvaru do ITable a manipulujte s ním podle potřeby.
  • Nakonec prezentaci uložte pomocí metody Presentation.Save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak získat přístup k tabulkám v prezentaci PowerPoint pomocí C#.

// Načíst prezentaci
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
    // Otevřete první snímek
    ISlide sld = pres.Slides[0];

    // Inicializujte null TableEx
    ITable tbl = null;

    // Procházejte tvary a nastavte odkaz na nalezenou tabulku
    foreach (IShape shp in sld.Shapes)
        if (shp is ITable)
            tbl = (ITable)shp;

    // Nastavte text prvního sloupce druhého řádku
    tbl[0, 1].TextFrame.Text = "New";

    //Zapište PPTX na disk
    pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Formátování textu v tabulkách PowerPoint pomocí C#

Aspose.Slides for .NET také umožňuje poměrně snadno nastavit formátování tabulek, jak je ukázáno v krocích níže.

Následující ukázka kódu ukazuje, jak nastavit formátování tabulky v PowerPointu pomocí C#.

// Vytvořte nebo načtěte prezentaci
Presentation presentation = new Presentation();

// Získejte referenci na snímek
ISlide slide = presentation.Slides[0];

// Získejte odkaz na tabulku
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// Nastavte výšku písma buněk tabulky
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);

// Nastavte zarovnání textu buněk tabulky a pravý okraj v jednom volání
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);

// Nastavit vertikální typ textu buněk tabulky
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);

// Uložit prezentaci
presentation.Save("result.pptx", SaveFormat.Pptx);

Uzamknout poměr stran tabulek v PowerPointu pomocí C#

Můžete také uzamknout poměr stran tabulek v prezentacích PowerPoint pomocí C#. Níže jsou uvedeny kroky, jak toho dosáhnout.

Následující ukázka kódu ukazuje, jak uzamknout poměr stran tabulky v prezentacích PowerPoint.

// Načíst prezentaci
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Získejte odkaz na tabulku
    ITable table = (ITable)pres.Slides[0].Shapes[0];
    Console.WriteLine($"Uzamknout poměr stran set: {table.ShapeLock.AspectRatioLocked}");

    // Uzamknout poměr stran
    table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
    Console.WriteLine($"Uzamknout poměr stran set: {table.ShapeLock.AspectRatioLocked}");

    // Uložit prezentaci
    pres.Save("pres-out.pptx", SaveFormat.Pptx);
}

Získejte bezplatnou licenci API

Aspose.Slides for .NET můžete používat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili vytvářet tabulky v prezentacích PowerPoint pomocí C#. Navíc jste viděli, jak programově přistupovat ke stávajícím tabulkám v prezentacích PowerPoint a jak s nimi manipulovat. Kromě toho můžete navštívit dokumentaci a prozkoumat více o Aspose.Slides for .NET. Také se můžete ptát na naše fórum.

Viz také