Zellen verwalten
Zusammengefügte Tabellenzelle identifizieren
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Tabelle von der ersten Folie.
- Iterieren Sie durch die Zeilen und Spalten der Tabelle, um zusammengefügte Zellen zu finden.
- Drucken Sie eine Nachricht, wenn zusammengefügte Zellen gefunden werden.
Dieser Python-Code zeigt Ihnen, wie Sie zusammengefügte Tabellenzellen in einer Präsentation identifizieren:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation(path + "SomePresentationWithTable.pptx") as pres:
table = pres.slides[0].shapes[0] # davon ausgehend, dass #0.Shape#0 eine Tabelle ist
for i in range(len(table.rows)):
for j in range(len(table.columns)):
currentCell = table.rows[i][j]
if currentCell.is_merged_cell:
print("Zelle 01 ist Teil einer zusammengefügten Zelle mit RowSpan=2 und ColSpan=3, beginnend bei Zelle 45.".format(
i, j, currentCell.row_span, currentCell.col_span, currentCell.first_row_index, currentCell.first_column_index))
Tabellenzellenrahmen entfernen
- Erstellen Sie eine Instanz der
Presentation
-Klasse. - Holen Sie sich die Referenz für eine Folie über ihren Index.
- Definieren Sie ein Array von Spalten mit Breite.
- Definieren Sie ein Array von Zeilen mit Höhe.
- Fügen Sie der Folie über die
AddTable
-Methode eine Tabelle hinzu. - Iterieren Sie durch jede Zelle, um die oberen, unteren, rechten und linken Rahmen zu löschen.
- Speichern Sie die geänderte Präsentation als PPTX-Datei.
Dieser Python-Code zeigt Ihnen, wie Sie die Rahmen von Tabellenzellen entfernen:
import aspose.pydrawing as draw
import aspose.slides as slides
# Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt
with slides.Presentation() as pres:
# Greift auf die erste Folie zu
sld = pres.slides[0]
# Definiert Spalten mit Breiten und Zeilen mit Höhen
dblCols = [ 50, 50, 50, 50 ]
dblRows = [ 50, 30, 30, 30, 30 ]
# Fügt der Folie eine Tabellengestalt hinzu
tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)
# Setzt das Rahmenformat für jede Zelle
for row in tbl.rows:
for cell in row:
cell.cell_format.border_top.fill_format.fill_type = slides.FillType.NO_FILL
cell.cell_format.border_bottom.fill_format.fill_type = slides.FillType.NO_FILL
cell.cell_format.border_left.fill_format.fill_type = slides.FillType.NO_FILL
cell.cell_format.border_right.fill_format.fill_type = slides.FillType.NO_FILL
# Schriebt die PPTX-Datei auf die Festplatte
pres.save("table_out.pptx", slides.export.SaveFormat.PPTX)
Nummerierung in zusammengefügten Zellen
Wenn wir 2 Paare von Zellen (1, 1) x (2, 1) und (1, 2) x (2, 2) zusammenfügen, wird die resultierende Tabelle nummeriert. Dieser Python-Code demonstriert den Prozess:
import aspose.pydrawing as draw
import aspose.slides as slides
# Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt
with slides.Presentation() as presentation:
# Greift auf die erste Folie zu
sld = presentation.slides[0]
# Definiert Spalten mit Breiten und Zeilen mit Höhen
dblCols = [70, 70, 70, 70]
dblRows = [70, 70, 70, 70]
# Fügt der Folie eine Tabellengestalt hinzu
tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)
# Setzt das Rahmenformat für jede Zelle
for row in tbl.rows:
for cell in row:
cell.cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_top.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_top.width = 5
cell.cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_bottom.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_bottom.width = 5
cell.cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_left.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_left.width = 5
cell.cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_right.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_right.width = 5
# Fügt die Zellen (1, 1) x (2, 1) zusammen
tbl.merge_cells(tbl.rows[1][1], tbl.rows[2][1], False)
# Fügt die Zellen (1, 2) x (2, 2) zusammen
tbl.merge_cells(tbl.rows[1][2], tbl.rows[2][2], False)
presentation.save("MergeCells_out.pptx", slides.export.SaveFormat.PPTX)
Wir fügen dann die Zellen weiter zusammen, indem wir (1, 1) und (1, 2) zusammenführen. Das Ergebnis ist eine Tabelle, die eine große zusammengefügte Zelle in der Mitte enthält:
import aspose.pydrawing as draw
import aspose.slides as slides
# Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt
with slides.Presentation() as presentation:
# Greift auf die erste Folie zu
slide = presentation.slides[0]
# Definiert Spalten mit Breiten und Zeilen mit Höhen
dblCols = [70, 70, 70, 70]
dblRows = [70, 70, 70, 70]
# Fügt der Folie eine Tabellengestalt hinzu
table = slide.shapes.add_table(100, 50, dblCols, dblRows)
# Setzt das Rahmenformat für jede Zelle
for row in table.rows:
for cell in row:
cell.cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_top.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_top.width = 5
cell.cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_bottom.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_bottom.width = 5
cell.cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_left.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_left.width = 5
cell.cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_right.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_right.width = 5
# Fügt die Zellen (1, 1) x (2, 1) zusammen
table.merge_cells(table.rows[1][1], table.rows[2][1], False)
# Fügt die Zellen (1, 2) x (2, 2) zusammen
table.merge_cells(table.rows[1][2], table.rows[2][2], False)
# Fügt die Zellen (1, 2) x (2, 2) zusammen
table.merge_cells(table.rows[1][1], table.rows[1][2], True)
# Schriebt die PPTX-Datei auf die Festplatte
presentation.save("MergeCells1_out.pptx", slides.export.SaveFormat.PPTX)
Nummerierung in geteilten Zellen
In den vorherigen Beispielen ändert sich die Numerierung oder das Nummerierungssystem in anderen Zellen nicht, wenn Tabellenzellen zusammengefügt werden.
Diesmal nehmen wir eine normale Tabelle (eine Tabelle ohne zusammengefügte Zellen) und versuchen dann, die Zelle (1,1) zu teilen, um eine spezielle Tabelle zu erhalten. Sie möchten vielleicht auf die Nummerierung dieser Tabelle achten, die als seltsam angesehen werden kann. Das ist jedoch die Art und Weise, wie Microsoft PowerPoint Tabellenzellen nummeriert, und Aspose.Slides macht es auf die gleiche Weise.
Dieser Python-Code demonstriert den beschriebenen Prozess:
import aspose.pydrawing as draw
import aspose.slides as slides
# Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt
with slides.Presentation() as presentation:
# Greift auf die erste Folie zu
slide = presentation.slides[0]
# Definiert Spalten mit Breiten und Zeilen mit Höhen
dblCols = [70, 70, 70, 70]
dblRows = [70, 70, 70, 70]
# Fügt der Folie eine Tabellengestalt hinzu
table = slide.shapes.add_table(100, 50, dblCols, dblRows)
# Setzt das Rahmenformat für jede Zelle
for row in table.rows:
for cell in row:
cell.cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_top.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_top.width = 5
cell.cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_bottom.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_bottom.width = 5
cell.cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_left.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_left.width = 5
cell.cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.border_right.fill_format.solid_fill_color.color = draw.Color.red
cell.cell_format.border_right.width = 5
# Fügt die Zellen (1, 1) x (2, 1) zusammen
table.merge_cells(table.rows[1][1], table.rows[2][1], False)
# Fügt die Zellen (1, 2) x (2, 2) zusammen
table.merge_cells(table.rows[1][2], table.rows[2][2], False)
# Teilt die Zelle (1, 1).
table.rows[1][1].split_by_width(table.rows[2][1].width / 2)
# Schriebt die PPTX-Datei auf die Festplatte
presentation.save("CellSplit_out.pptx", slides.export.SaveFormat.PPTX)
Hintergrundfarbe der Tabellenzelle ändern
Dieser Python-Code zeigt Ihnen, wie Sie die Hintergrundfarbe einer Tabellenzelle ändern:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
dblCols = [ 150, 150, 150, 150 ]
dblRows = [ 50, 50, 50, 50, 50 ]
# Erstellt eine neue Tabelle
table = slide.shapes.add_table(50, 50, dblCols, dblRows)
# Setzt die Hintergrundfarbe für eine Zelle
cell = table.rows[2][3]
cell.cell_format.fill_format.fill_type = slides.FillType.SOLID
cell.cell_format.fill_format.solid_fill_color.color = draw.Color.red
presentation.save("cell_background_color.pptx", slides.export.SaveFormat.PPTX)
Bild in Tabellenzelle hinzufügen
- Erstellen Sie eine Instanz der
Presentation
-Klasse. - Holen Sie sich die Referenz für eine Folie über ihren Index.
- Definieren Sie ein Array von Spalten mit Breite.
- Definieren Sie ein Array von Zeilen mit Höhe.
- Fügen Sie der Folie über die
AddTable
-Methode eine Tabelle hinzu. - Erstellen Sie ein
Bitmap
-Objekt, um die Bilddatei zu halten. - Fügen Sie das Bitmap-Bild zum
IPPImage
-Objekt hinzu. - Setzen Sie das
FillFormat
für die Tabellenzelle aufPicture
. - Fügen Sie das Bild zur ersten Zelle der Tabelle hinzu.
- Speichern Sie die geänderte Präsentation als PPTX-Datei.
Dieser Python-Code zeigt Ihnen, wie Sie ein Bild in einer Tabellenzelle platzieren, während Sie eine Tabelle erstellen:
import aspose.pydrawing as draw
import aspose.slides as slides
# Erstellt ein Objekt der Presentation-Klasse
with slides.Presentation() as presentation:
# Greift auf die erste Folie zu
islide = presentation.slides[0]
# Definiert Spalten mit Breiten und Zeilen mit Höhen
dblCols = [150, 150, 150, 150]
dblRows = [100, 100, 100, 100, 90]
# Fügt der Folie eine Tabellengestalt hinzu
tbl = islide.shapes.add_table(50, 50, dblCols, dblRows)
# Erstellt ein Bitmap-Bildobjekt, um die Bilddatei zu halten
image = draw.Bitmap(path + "aspose-logo.jpg")
# Erstellt ein IPPImage-Objekt mit dem Bitmapobjekt
imgx1 = presentation.images.add_image(image)
# Fügt das Bild zur ersten Tabellenzelle hinzu
tbl.rows[0][0].cell_format.fill_format.fill_type = slides.FillType.PICTURE
tbl.rows[0][0].cell_format.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
tbl.rows[0][0].cell_format.fill_format.picture_fill_format.picture.image = imgx1
# Speichert die PPTX auf der Festplatte
presentation.save("Image_In_TableCell_out.pptx", slides.export.SaveFormat.PPTX)