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
- Vytvořte tabulku v PowerPointových prezentacích
- Přístup k tabulce v prezentaci
- Formátování textu v tabulkách PowerPoint
- Uzamknout poměr stran tabulek
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.
- Nastavte text buňky pomocí vlastnosti ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
- Získejte odkaz na formátování buňky do objektu ICellFormat a v případě potřeby nastavte styl ohraničení buňky.
- 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.
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.
- Nejprve načtěte existující prezentaci pomocí třídy Presentation.
- Poté získejte odkaz na požadovaný snímek do objektu ISlide.
- Načtěte odkaz na požadovanou tabulku ze snímku do objektu ITable.
- Nastavte formátování pomocí tříd PortionFormat, ParagraphFormat a TextFrameFormat.
- Přiřaďte formátování tabulce pomocí metod ITable.setTextFormat().
- Nakonec prezentaci uložte pomocí metody Presentation.Save(String, SaveFormat).
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.
- 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 tabulku nebo načtěte odkaz na existující tabulku do objektu ITable.
- Chcete-li uzamknout poměr stran, nastavte vlastnost ITable.ShapeLock.AspectRatioLocked na !ITable.ShapeLock.AspectRatioLocked.
- Nakonec prezentaci uložte pomocí metody Presentation.Save(String, SaveFormat).
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.