Tabeller används för att ordna data i form av rader och kolumner. Dessutom organiserar och sammanfattar de data så att de enkelt kan ses och analyseras. MS PowerPoint låter dig även infoga tabeller i presentationerna. Följaktligen täcker den här artikeln hur man skapar och manipulerar tabeller i PowerPoint-presentationer med C#.
- C# API för att skapa och manipulera tabeller i PowerPoint
- Skapa en tabell i PowerPoint-presentationer
- Få tillgång till en tabell i en presentation
- Formatera text i PowerPoint-tabeller
- Lås bildförhållande för tabellerna
C# API för att skapa och manipulera tabeller i PowerPoint
För att skapa och manipulera tabeller i PowerPoint-presentationer kommer vi att använda Aspose.Slides for .NET. API:et låter dig skapa, manipulera och konvertera PowerPoint- och OpenOffice-dokument. Du kan ladda ner API:s DLL och lägga till en referens till den i ditt projekt. Du kan också installera den med NuGet.
PM> Install-Package Aspose.Slides.NET
Skapa en tabell i PowerPoint-presentationer med C#
Att skapa en tabell med Aspose.Slides för .NET är en bit av kakan. Följande steg visar hur du skapar en tabell i en PowerPoint-presentation med C#.
- Skapa först en ny presentation eller ladda en befintlig med klassen Presentation.
- Hämta sedan referens för den önskade bilden till ett ISlide-objekt.
- Definiera bredden och höjden på kolumner respektive rader i dubbel[]-matriser.
- Infoga en ny tabell i presentationen med metoden ISlide.Shapes.AddTable().
- Få referens till den nyskapade tabellen i ett ITable-objekt.
- Skapa en slinga för att iterera genom tabellens rader.
- Skapa en kapslad loop för att iterera genom cellerna i tabellen och utför följande operationer i varje iteration.
- Ställ in texten i cellen med egenskapen ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
- Få referens till cellens formatering till ett ICellFormat-objekt och ställ in cellens kantstil, om det behövs.
- Spara slutligen presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man skapar en tabell i en PowerPoint-presentation.
// Skapa eller ladda presentation
Presentation pres = new Presentation();
// Få tillgång till första bilden
ISlide sld = pres.Slides[0];
// Definiera kolumner med bredder och rader med höjder
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Lägg till bordsform för att glida
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Ställ in kantformat och text för varje cell
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// Lägg till text i cellen
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;
}
}
// Spara PPTX till disk
pres.Save("table.pptx", SaveFormat.Pptx);
Följande skärmdump visar tabellen som vi har skapat med ovanstående kod.
Få tillgång till en tabell i en presentation med C#
Du kan också komma åt tabellerna i befintliga PowerPoint-presentationer och manipulera dem efter behov. Följande är stegen för att komma åt tabellerna i en presentation.
- Ladda först en befintlig presentation med klassen Presentation.
- Hämta sedan referens för den önskade bilden till ett ISlide objekt.
- Skapa en instans av ITable och initiera den med null.
- Iterera genom alla IShape-objekt i ISlide.Shapes-samlingen.
- Filtrera formerna av typen ITable.
- Typ gjuta formen till ITable och manipulera den efter behov.
- Spara slutligen presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur du kommer åt tabeller i en PowerPoint-presentation med C#.
// Ladda presentationen
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// Gå till den första bilden
ISlide sld = pres.Slides[0];
// Initiera null TableEx
ITable tbl = null;
// Iterera genom formerna och ställ in en referens till tabellen som hittats
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// Ställ in texten i den första kolumnen på andra raden
tbl[0, 1].TextFrame.Text = "New";
//Skriv PPTX till disk
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Formatera text i PowerPoint-tabeller med C#
Aspose.Slides för .NET låter dig också ställa in formatering av tabellerna ganska enkelt, vilket visas i stegen nedan.
- Ladda först en befintlig presentation med klassen Presentation.
- Hämta sedan referens för den önskade bilden till ett ISlide objekt.
- Hämta referensen för den önskade tabellen från bild till ett ITable objekt.
- Ställ in formatering med klasserna PortionFormat, ParagraphFormat och TextFrameFormat.
- Tilldela formatering till tabellen med metoderna ITable.setTextFormat().
- Spara slutligen presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur du ställer in formateringen av tabellen i PowerPoint med C#.
// Skapa eller ladda presentation
Presentation presentation = new Presentation();
// Få referens till bilden
ISlide slide = presentation.Slides[0];
// Få referens till tabellen
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// Ställ in tabellcellers teckensnittshöjd
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// Ställ in tabellcellers textjustering och högermarginal i ett anrop
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// Ställ in tabellcellers vertikala texttyp
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// Spara presentationen
presentation.Save("result.pptx", SaveFormat.Pptx);
Lås bildförhållande för tabeller i PowerPoint med C#
Du kan även låsa bildförhållandet för tabellerna i PowerPoint-presentationer med C#. Följande är stegen för att uppnå detta.
- Ladda först en befintlig presentation med klassen Presentation.
- Få sedan referens till den önskade bilden till ett ISlide objekt.
- Skapa en tabell eller hämta referensen för en befintlig tabell till ett ITable-objekt.
- Ställ in egenskapen ITable.ShapeLock.AspectRatioLocked till !ITable.ShapeLock.AspectRatioLocked för att låsa bildförhållandet.
- Slutligen sparar du presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur du låser tabellens bildförhållande i PowerPoint-presentationer.
// Ladda presentationen
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Få referens till tabellen
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"Lås bildförhållande set: {table.ShapeLock.AspectRatioLocked}");
// Lås bildförhållande
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"Lås bildförhållande set: {table.ShapeLock.AspectRatioLocked}");
// Spara presentationen
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
Skaffa en gratis API-licens
Du kan använda Aspose.Slides för .NET utan utvärderingsbegränsningar genom att få en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du skapar tabeller i PowerPoint-presentationer med C#. Dessutom har du sett hur du kommer åt och manipulerar befintliga tabeller i PowerPoint-presentationer programmatiskt. Dessutom kan du besöka dokumentationen för att utforska mer om Aspose.Slides för .NET. Du kan också ställa dina frågor via vårt forum.