Διαχείριση γραμμών και στηλών σε πίνακες PowerPoint χρησιμοποιώντας Java
Εισαγωγή
Για να μπορείτε να διαχειρίζεστε τις γραμμές και τις στήλες ενός πίνακα σε μια παρουσίαση PowerPoint, το Aspose.Slides παρέχει την κλάση Table , τη διεπαφή ITable και πολλούς άλλους τύπους.
Ορισμός της πρώτης γραμμής ως κεφαλίδα
- Δημιουργήστε μια παρουσία της κλάσης Presentation και φορτώστε την παρουσίαση.
- Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
- Δημιουργήστε ένα αντικείμενο ITable και ορίστε το σε null.
- Διέλθετε όλα τα αντικείμενα IShape για να βρείτε τον σχετικό πίνακα.
- Ορίστε την πρώτη γραμμή του πίνακα ως κεφαλίδα.
Αυτός ο κώδικας Java δείχνει πώς να ορίσετε την πρώτη γραμμή ενός πίνακα ως κεφαλίδα:
// Δημιουργεί μια παρουσία της κλάσης Presentation
Presentation pres = new Presentation("table.pptx");
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide sld = pres.getSlides().get_Item(0);
// Αρχικοποιεί το null TableEx
ITable tbl = null;
// Διέρχεται τα σχήματα και ορίζει μια αναφορά στον πίνακα
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable)shp;
// Ορίζει την πρώτη γραμμή ενός πίνακα ως κεφαλίδα του
tbl.setFirstRow(true);
}
}
// Αποθηκεύει την παρουσίαση στον δίσκο
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Κλωνοποίηση γραμμής ή στήλης πίνακα
- Δημιουργήστε μια παρουσία της κλάσης Presentation και φορτώστε την παρουσίαση,
- Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
- Ορίστε έναν πίνακα (array) του
columnWidth. - Ορίστε έναν πίνακα (array) του
rowHeight. - Προσθέστε ένα αντικείμενο ITable στη διαφάνεια μέσω της μεθόδου addTable.
- Κλωνοποιήστε τη γραμμή του πίνακα.
- Κλωνοποιήστε τη στήλη του πίνακα.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να κλωνοποιήσετε τη γραμμή ή τη στήλη ενός πίνακα PowerPoint:
// Δημιουργεί μια παρουσία της κλάσης Presentation
Presentation pres = new Presentation("Test.pptx");
try {
// Πρόσβαση στην πρώτη διαφάνεια
ISlide sld = pres.getSlides().get_Item(0);
// Ορίζει στήλες με πλάτη και γραμμές με ύψη
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Προσθέτει ένα σχήμα πίνακα στη διαφάνεια
ITable table = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// Προσθέτει κείμενο στο κελί 1 της γραμμής 1
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1");
// Προσθέτει κείμενο στο κελί 2 της γραμμής 1
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2");
// Κλωνοποιεί τη Γραμμή 1 στο τέλος του πίνακα
table.getRows().addClone(table.getRows().get_Item(0), false);
// Προσθέτει κείμενο στο κελί 1 της γραμμής 2
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1");
// Προσθέτει κείμενο στο κελί 2 της γραμμής 2
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2");
// Κλωνοποιεί τη Γραμμή 2 ως 4η γραμμή του πίνακα
table.getRows().insertClone(3, table.getRows().get_Item(1), false);
// Κλωνοποιεί την πρώτη στήλη στο τέλος
table.getColumns().addClone(table.getColumns().get_Item(0), false);
// Κλωνοποιεί τη δεύτερη στήλη στη θέση της 4ης στήλης
table.getColumns().insertClone(3,table.getColumns().get_Item(1), false);
// Αποθηκεύει την παρουσίαση στον δίσκο
pres.save("table_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Αφαίρεση γραμμής ή στήλης από πίνακα
- Δημιουργήστε μια παρουσία της κλάσης Presentation και φορτώστε την παρουσίαση,
- Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
- Ορίστε έναν πίνακα (array) του
columnWidth. - Ορίστε έναν πίνακα (array) του
rowHeight. - Προσθέστε ένα αντικείμενο ITable στη διαφάνεια μέσω της μεθόδου addTable.
- Αφαιρέστε τη γραμμή του πίνακα.
- Αφαιρέστε τη στήλη του πίνακα.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει πώς να αφαιρέσετε μια γραμμή ή στήλη από έναν πίνακα:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
double[] colWidth = { 100, 50, 30 };
double[] rowHeight = { 30, 50, 30 };
ITable table = slide.getShapes().addTable(100, 100, colWidth, rowHeight);
table.getRows().removeAt(1, false);
table.getColumns().removeAt(1, false);
pres.save("TestTable_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ορισμός μορφοποίησης κειμένου σε επίπεδο γραμμής πίνακα
- Δημιουργήστε μια παρουσία της κλάσης Presentation και φορτώστε την παρουσίαση,
- Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
- Προσπελάστε το σχετικό αντικείμενο ITable από τη διαφάνεια.
- Ορίστε το setFontHeight(float value) στα κελιά της πρώτης γραμμής.
- Ορίστε τα κελιά της πρώτης γραμμής με τις μεθόδους setAlignment(int value) και setMarginRight(float value).
- Ορίστε τα κελιά της δεύτερης γραμμής με τη μέθοδο setTextVerticalType(byte value).
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java επιδεικνύει τη λειτουργία.
// Δημιουργεί μια παρουσία της κλάσης Presentation
Presentation pres = new Presentation();
try {
// Έστω ότι το πρώτο σχήμα στην πρώτη διαφάνεια είναι πίνακας
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Ορίζει το ύψος γραμματοσειράς των κελιών της πρώτης γραμμής
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getRows().get_Item(0).setTextFormat(portionFormat);
// Ορίζει την στοίχιση κειμένου και το δεξιό περιθώριο των κελιών της πρώτης γραμμής
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getRows().get_Item(0).setTextFormat(paragraphFormat);
// Ορίζει τον κάθετο τύπο κειμένου των κελιών της δεύτερης γραμμής
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getRows().get_Item(1).setTextFormat(textFrameFormat);
// Αποθηκεύει την παρουσίαση στον δίσκο
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ορισμός μορφοποίησης κειμένου σε επίπεδο στήλης πίνακα
- Δημιουργήστε μια παρουσία της κλάσης Presentation και φορτώστε την παρουσίαση,
- Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
- Προσπελάστε το σχετικό αντικείμενο ITable από τη διαφάνεια.
- Ορίστε το setFontHeight(float value) στα κελιά της πρώτης στήλης.
- Ορίστε τα κελιά της πρώτης στήλης με τις μεθόδους setAlignment(int value) και setMarginRight(float value).
- Ορίστε τα κελιά της δεύτερης στήλης με τη μέθοδο setTextVerticalType(byte value).
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java επιδεικνύει τη λειτουργία:
// Δημιουργεί μια παρουσία της κλάσης Presentation
Presentation pres = new Presentation();
try {
// Ας υποθέσουμε ότι το πρώτο σχήμα στην πρώτη διαφάνεια είναι πίνακας
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0)];
// Ορίζει το ύψος γραμματοσειράς των κελιών της πρώτης στήλης
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getColumns().get_Item(0).setTextFormat(portionFormat);
// Ορίζει την στοίχιση κειμένου και το δεξιό περιθώριο των κελιών της πρώτης στήλης με μία κλήση
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getColumns().get_Item(0).setTextFormat(paragraphFormat);
// Ορίζει τον κάθετο τύπο κειμένου των κελιών της δεύτερης στήλης
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getColumns().get_Item(1).setTextFormat(textFrameFormat);
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ανάκτηση ιδιοτήτων στυλ πίνακα
Το Aspose.Slides σας επιτρέπει να ανακτήσετε τις ιδιότητες στυλ ενός πίνακα ώστε να μπορείτε να χρησιμοποιήσετε αυτές τις λεπτομέρειες για άλλο πίνακα ή αλλού. Αυτός ο κώδικας Java δείχνει πώς να λάβετε τις ιδιότητες στυλ από ένα προρυθμισμένο στυλ πίνακα:
Presentation pres = new Presentation();
try {
ITable table = pres.getSlides().get_Item(0).getShapes().addTable(10, 10, new double[] { 100, 150 }, new double[] { 5, 5, 5 });
table.setStylePreset(TableStylePreset.DarkStyle1); // αλλάζει το προεπιλεγμένο στυλ θέματος
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Συχνές Ερωτήσεις
Μπορώ να εφαρμόσω θέματα/στυλ PowerPoint σε έναν ήδη δημιουργημένο πίνακα;
Ναι. Ο πίνακας κληρονομεί το θέμα της διαφάνειας/διάταξης/κύριου και μπορείτε ακόμη να παρακάμψετε τις γεμίσεις, τα περιγράμματα και τα χρώματα κειμένου πάνω στο εν λόγω θέμα.
Μπορώ να ταξινομήσω τις γραμμές του πίνακα όπως στο Excel;
Όχι, οι πίνακες του Aspose.Slides δεν διαθέτουν ενσωματωμένη ταξινόμηση ή φίλτρα. Ταξινομήστε τα δεδομένα στη μνήμη πρώτα, κατόπιν επανυποβάλετε τις γραμμές του πίνακα με τη σειρά αυτή.
Μπορώ να έχω λωρίδες (striped) σε στήλες ενώ διατηρώ προσαρμοσμένα χρώματα σε συγκεκριμένα κελιά;
Ναι. Ενεργοποιήστε τις λωρίδες στις στήλες, στη συνέχεια παρακάμψτε συγκεκριμένα κελιά με τοπική μορφοποίηση· η μορφοποίηση σε επίπεδο κελιού έχει προτεραιότητα πάνω από το στυλ του πίνακα.