Διαχείριση Γραμμών και Στηλών σε Πίνακες PowerPoint με χρήση Python
Εισαγωγή
Για να σας επιτρέψει να διαχειριστείτε τις γραμμές και τις στήλες ενός πίνακα σε μια παρουσίαση PowerPoint, το Aspose.Slides παρέχει την κλάση Table και πολλούς άλλους τύπους.
Ορίστε την Πρώτη Γραμμή ως Κεφαλίδα
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation και φορτώστε την παρουσίαση.
- Αποκτήστε μια αναφορά σε μια διαφάνεια με βάση τον δείκτη της.
- Δημιουργήστε μια αναφορά σε Table και ορίστε την σε
None. - Επανάληψη σε όλα τα αντικείμενα Shape για να εντοπίσετε τον σχετικό πίνακα.
- Ορίστε την πρώτη γραμμή του πίνακα ως κεφαλίδα.
Αυτός ο κώδικας Python σας δείχνει πώς να ορίσετε την πρώτη γραμμή ενός πίνακα ως κεφαλίδα:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table
presentation = Presentation("table.pptx")
try:
slide = presentation.getSlides().get_Item(0)
table = None
for shape in slide.getShapes():
if isinstance(shape, Table):
table = shape
table.setFirstRow(True)
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Κλωνοποίηση Γραμμής ή Στήλης Πίνακα
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation και φορτώστε την παρουσίαση.
- Αποκτήστε μια αναφορά σε μια διαφάνεια με βάση τον δείκτη της.
- Ορίστε μια λίστα με το πλάτος των στηλών.
- Ορίστε μια λίστα με το ύψος των γραμμών.
- Προσθέστε ένα αντικείμενο Table στη διαφάνεια μέσω της μεθόδου addTable.
- Κλωνοποιήστε τη γραμμή του πίνακα.
- Κλωνοποιήστε τη στήλη του πίνακα.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Python σας δείχνει πώς να κλωνοποιήσετε τη γραμμή ή τη στήλη ενός πίνακα PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("Test.pptx")
try:
slide = presentation.getSlides().get_Item(0)
column_widths = [50, 50, 50]
row_heights = [50, 30, 30, 30, 30]
table = slide.getShapes().addTable(100, 50, column_widths, row_heights)
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1")
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2")
table.getRows().addClone(table.getRows().get_Item(0), False)
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1")
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2")
table.getRows().insertClone(3, table.getRows().get_Item(1), False)
table.getColumns().addClone(table.getColumns().get_Item(0), False)
table.getColumns().insertClone(3, table.getColumns().get_Item(1), False)
presentation.save("table_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Κατάργηση Γραμμής ή Στήλης από Πίνακα
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
- Αποκτήστε μια αναφορά σε μια διαφάνεια με βάση τον δείκτη της.
- Ορίστε μια λίστα με το πλάτος των στηλών.
- Ορίστε μια λίστα με το ύψος των γραμμών.
- Προσθέστε ένα αντικείμενο Table στη διαφάνεια μέσω της μεθόδου addTable.
- Καταργήστε τη γραμμή του πίνακα.
- Καταργήστε τη στήλη του πίνακα.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Python σας δείχνει πώς να καταργήσετε μια γραμμή ή μια στήλη από έναν πίνακα:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
column_widths = [100, 50, 30]
row_heights = [30, 50, 30]
table = slide.getShapes().addTable(100, 100, column_widths, row_heights)
table.getRows().removeAt(1, False)
table.getColumns().removeAt(1, False)
presentation.save("TestTable_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Ορισμός Μορφοποίησης Κειμένου σε Επίπεδο Γραμμής Πίνακα
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation και φορτώστε την παρουσίαση.
- Αποκτήστε μια αναφορά σε μια διαφάνεια με βάση τον δείκτη της.
- Προσπελάστε το σχετικό αντικείμενο Table από τη διαφάνεια.
- Ορίστε το ύψος γραμματοσειράς των κελιών της πρώτης γραμμής χρησιμοποιώντας τη μέθοδο setFontHeight.
- Ορίστε την στοίχιση κειμένου και το δεξιό περιθώριο των κελιών της πρώτης γραμμής χρησιμοποιώντας τις μεθόδους setAlignment και setMarginRight.
- Ορίστε τον κατακόρυφο τύπο κειμένου των κελιών της δεύτερης γραμμής χρησιμοποιώντας τη μέθοδο setTextVerticalType.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Python επιδεικνύει τη λειτουργία.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table, PortionFormat, ParagraphFormat, TextFrameFormat, TextAlignment, TextVerticalType
presentation = Presentation("table.pptx")
try:
shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
if isinstance(shape, Table):
table = shape
portion_format = PortionFormat()
portion_format.setFontHeight(25)
table.getRows().get_Item(0).setTextFormat(portion_format)
paragraph_format = ParagraphFormat()
paragraph_format.setAlignment(TextAlignment.Right)
paragraph_format.setMarginRight(20)
table.getRows().get_Item(0).setTextFormat(paragraph_format)
text_frame_format = TextFrameFormat()
text_frame_format.setTextVerticalType(TextVerticalType.Vertical)
table.getRows().get_Item(1).setTextFormat(text_frame_format)
presentation.save("result.pptx", SaveFormat.Pptx)
else:
print("The first shape is not a table.")
finally:
presentation.dispose()
Ορισμός Μορφοποίησης Κειμένου σε Επίπεδο Στήλης Πίνακα
- Δημιουργήστε ένα αντικείμενο της κλάσης Presentation και φορτώστε την παρουσίαση.
- Αποκτήστε μια αναφορά σε μια διαφάνεια με βάση τον δείκτη της.
- Προσπελάστε το σχετικό αντικείμενο Table από τη διαφάνεια.
- Ορίστε το ύψος γραμματοσειράς των κελιών της πρώτης στήλης χρησιμοποιώντας τη μέθοδο setFontHeight.
- Ορίστε την στοίχιση κειμένου και το δεξιό περιθώριο των κελιών της πρώτης στήλης χρησιμοποιώντας τις μεθόδους setAlignment και setMarginRight.
- Ορίστε τον κατακόρυφο τύπο κειμένου των κελιών της δεύτερης στήλης χρησιμοποιώντας τη μέθοδο setTextVerticalType.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Python επιδεικνύει τη λειτουργία:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table, PortionFormat, ParagraphFormat, TextFrameFormat, TextAlignment, TextVerticalType
presentation = Presentation("table.pptx")
try:
shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
if isinstance(shape, Table):
table = shape
portion_format = PortionFormat()
portion_format.setFontHeight(25)
table.getColumns().get_Item(0).setTextFormat(portion_format)
paragraph_format = ParagraphFormat()
paragraph_format.setAlignment(TextAlignment.Right)
paragraph_format.setMarginRight(20)
table.getColumns().get_Item(0).setTextFormat(paragraph_format)
text_frame_format = TextFrameFormat()
text_frame_format.setTextVerticalType(TextVerticalType.Vertical)
table.getColumns().get_Item(1).setTextFormat(text_frame_format)
presentation.save("result.pptx", SaveFormat.Pptx)
else:
print("The first shape is not a table.")
finally:
presentation.dispose()
Λήψη Ιδιοτήτων Στυλ Πίνακα
Το Aspose.Slides σας επιτρέπει να ανακτήσετε τις ιδιότητες στυλ για έναν πίνακα ώστε να μπορείτε να χρησιμοποιήσετε αυτές τις λεπτομέρειες για άλλο πίνακα ή σε άλλο μέρος. Αυτός ο κώδικας Python σας δείχνει πώς να λάβετε τις ιδιότητες στυλ από ένα προκαθορισμένο στυλ πίνακα:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, TableStylePreset
presentation = Presentation()
try:
column_widths = [100, 150]
row_heights = [5, 5, 5]
table = presentation.getSlides().get_Item(0).getShapes().addTable(10, 10, column_widths, row_heights)
table.setStylePreset(TableStylePreset.DarkStyle1)
style_preset = table.getStylePreset()
print(style_preset)
presentation.save("table.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Συχνές Ερωτήσεις
Μπορώ να εφαρμόσω θέματα/στυλ PowerPoint σε έναν ήδη δημιουργημένο πίνακα;
Ναι. Ο πίνακας κληρονομεί το θέμα της διαφάνειας/διάταξης/κύριου θέματος, και μπορείτε ακόμα να παρακάμπνετε γεμίσματα, περιγράμματα και χρώματα κειμένου πάνω από το εν λόγω θέμα.
Μπορώ να ταξινομήσω τις γραμμές του πίνακα όπως στο Excel;
Όχι, οι πίνακες του Aspose.Slides δεν διαθέτουν ενσωματωμένη ταξινόμηση ή φίλτρα. Ταξινομήστε τα δεδομένα στη μνήμη πρώτα, στη συνέχεια επαναγεμίστε τις γραμμές του πίνακα με αυτή τη σειρά.
Μπορώ να έχω ζώνες (γραμμοσκίαση) στήλες ενώ διατηρώ προσαρμοσμένα χρώματα σε συγκεκριμένα κελιά;
Ναι. Ενεργοποιήστε τη ζώνη στήλες, στη συνέχεια παρακάμπτετε συγκεκριμένα κελιά με τοπική μορφοποίηση· η μορφοποίηση σε επίπεδο κελιού υπερισχύει του στυλ του πίνακα.