Εργασία με τα τραπέζια

Εργασία με τα τραπέζια

Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or Μπορείτε να δημιουργήσετε νέους πίνακες από κελικές γραμμές, ελέγξτε υπάρχοντες πίνακες, ρυθμίστε τον τίτλο και τις συνολικές γραμμές, εφαρμόστε ενσωματωμένες στυλ πίεσης, πρόσβαση σε μεμονωμένες στήλες, και μετατρέψτε τους πίνακες πίσω στις κανονικές γραμμές. Το σημείο εισόδου είναι ListObjectCollection,Η πρόσβαση μέσω Worksheet.getListObjects().


ΕΚΤΙΜΗΣΗ

Τα φύλλα σε ένα βιβλίο εργασίας διαχειρίζονται μέσω της ListObjectCollection Επιστρέφεται από Worksheet.getListObjects().Κάθε ένας ListObject Εμφανίζεται ένα Excel και εκθέτει το όνομα της οθόνης, σχόλια, όρια εύρους κυττάρων, συλλογή στήλης, στυλ Ορισμοί και ο τίτλος / συνολικά γραμμές προβολής.

Δημιουργήθηκε ένα νέο τραπέζι με ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), που επιστρέφει τον δείκτη με βάση το μηδέν του νεοκαθαρρύπτοντος πίνακα. εναλλακτική λύση Η υπερφόρτωση αποδέχεται τις αλυσίδες κυτταρικού ονόματος: ListObjectCollection.add(startCellName, endCellName, hasHeaders).


Κλειδιά τάξεων

ΚλάσηΠεριγραφή
ListObjectΕμφανίζεται ένα ενιαίο πίνακα Excel. getDisplayName(), getComment(), συντονιστές εύρους, συλλογή στήλης, τύπος στυλ και ο τίτλος / συνολικά γραμμές προβολής.
ListObjectCollectionΣυλλογή όλων των τραπεζών σε ένα φύλλο εργασίας. Υποστήριξη getCount(), indexed και ονομασθεί lookup μέσω get(), add(), remove(),και βοηθούς μετατροπής τύπου.
ListColumnΑντιπροσωπεύει μία στήλη μέσα σε έναν πίνακα. Εμφανίζει τον ID σήματος, το όνομα και τις ρυθμίσεις υπολογισμού συνολικού ρούβλου.
ListColumnCollectionΠαραγγελία συλλογή στήλες σε έναν πίνακα. Iterable με αριθμό και πρόσβαση σε δείκτες.
TableStyleTypeΤο Enum προσδιορίζει ένα ενσωματωμένο στυλ πίνακα του Excel (Light 1–21, Medium 1–28, Dark 1–11, ή Custom/None).
TotalsCalculationΤο Enum για τη λειτουργία συγκέντρωσης στην συνολική σειρά του πίνακα (SUM, COUNT, AVERAGE, MAX, MIN, STD_DEV, VAR, COUNT_NUMS, CUSTOM, NONE).

Εισαγωγή πίνακων σε ένα φύλλο εργασίας

Αποκτήστε το ListObjectCollection Από οποιαδήποτε Worksheet μέσω Worksheet.getListObjects().Χρησιμοποιώντας ListObjectCollection.getCount() Για να καθορίσει πόσες πίνακες υπάρχουν. μεμονωμένες πίνακες έχουν πρόσβαση μέσω μηδενικού δείκτη μέσω ListObjectCollection.get(index) ή μέσω του ονόματος της ListObjectCollection.get(name).

Workbook wb = new Workbook("input.xlsx");
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);
ListObjectCollection tables = ws.getListObjects();

for (int i = 0; i < tables.getCount(); i++) {
    ListObject table = tables.get(i);
    System.out.println("Table: " + table.getDisplayName()
        + " rows: " + table.getStartRow() + "-" + table.getEndRow());
}

Δημιουργία νέου τραπέζιας

Χρήση ListObjectCollection.add() να εισάγετε ένα τραπέζι πάνω από μια περιοχή κυττάρων. hasHeaders Η παραμέτρων δείχνει αν η πρώτη γραμμή της περιόδου περιλαμβάνει Κύκλοι της στήλης.

Workbook wb = new Workbook();
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);

// Populate data
ws.getCells().get("A1").putValue("Product");
ws.getCells().get("B1").putValue("Quantity");
ws.getCells().get("A2").putValue("Widget");
ws.getCells().get("B2").putValue(100);

// Create table over A1:B2 with headers in row 0
int tableIndex = ws.getListObjects().add(0, 0, 1, 1, true);
ListObject table = ws.getListObjects().get(tableIndex);
table.setDisplayName("SalesTable");

Ελέγχοντας τα ιδιότητες του τραπέζου

Όταν κρατάς ένα ListObject Αναφορά που μπορείτε να διαβάσετε:

  • ListObject.getDisplayName() - το όνομα του πίνακα της οθόνης.
  • ListObject.getComment() - μια προαιρετική παρατήρηση που συνδέεται με το τραπέζι.
  • ListObject.getStartRow() / ListObject.getStartColumn() - το επάνω αριστερό κύτταρο της γραμμής του τραπέζου.
  • ListObject.getEndRow() / ListObject.getEndColumn() - κάτω δεξιά κελί της γραμμής του τραπέζου.
  • ListObject.isShowHeaderRow() - αν η γραμμή κεφαλής είναι ορατή.
  • ListObject.isShowTotals() - αν η συνολική σειρά είναι ορατή.
  • ListObject.getListColumns() - το ListColumnCollection Για το τραπέζι.

Στυλ πίνακες

Εφαρμόστε ένα ενσωματωμένο στυλ τραπέζια χρησιμοποιώντας ListObject.setTableStyleType(TableStyleType). Η TableStyleType Το enum περιλαμβάνει το Φως (1–21), το Μέσο (1 – 28) και το Σκοτεινό (1-11) Εναλλακτικές ΠΛΗΡΟ NONE και CUSTOM.

ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);

Πρόσθετες στυλ τόνγκλες ελέγχει γραμμές, γραμμένες στήλες και την πρώτη / τελευταία στίχους έμφαση:

  • ListObject.setShowTableStyleRowStripes(boolean)
  • ListObject.setShowTableStyleColumnStripes(boolean)
  • ListObject.setShowTableStyleFirstColumn(boolean)
  • ListObject.setShowTableStyleLastColumn(boolean)

Μπορείτε επίσης να ορίσετε ένα προσαρμοσμένο όνομα στυλ με ListObject.setTableStyleName(String).

Βοηθητικές μέθοδοι ListObjectCollection.parseTableStyleType(String) και ListObjectCollection.tableStyleTypeName(TableStyleType) Μετατρέψτε μεταξύ των Ο ΑΕΚ και η αντιπροσωπεία του.


Εργασία με πίνακες στήλες

Διαθέσιμο μεμονωμένων στήλων μέσω ListObject.getListColumns(),που επιστρέφει σε ListColumnCollection.Κάθε ένας ListColumn Εμφανίσεις :

  • ListColumn.getId() - ο μοναδικός αναγνωριστής στήλης OOXML.
  • ListColumn.getName() / ListColumn.setName(String) - Το κείμενο της στήλης επικεφαλής.
  • ListColumn.getTotalsCalculation() / ListColumn.setTotalsCalculation(TotalsCalculation) — τη λειτουργία συγκέντρωσης για την συνολική σειρά.
  • ListColumn.getTotalsRowLabel() / ListColumn.setTotalsRowLabel(String) - μια προσαρμοσμένη ετικέτα στην συνολική σειρά.
  • ListColumn.getTotalsRowFormula() / ListColumn.setTotalsRowFormula(String) - μια προσαρμοσμένη φόρμουλα για την συνολική σειρά.
ListObject table = ws.getListObjects().get(0);
ListColumnCollection columns = table.getListColumns();
for (int i = 0; i < columns.getCount(); i++) {
    ListColumn col = columns.get(i);
    System.out.println("Column " + col.getId() + ": " + col.getName());
}

Εισαγωγή του Totals Row

Επιτρέπεται η συνολική σειρά με ListObject.setShowTotals(true),και στη συνέχεια, επιλέξτε το Per-Column Η συλλογική λειτουργία χρησιμοποιεί το TotalsCalculation Ο ΕΝΟ.

ListObject table = ws.getListObjects().get(0);
table.setShowTotals(true);

ListColumn qtyColumn = table.getListColumns().get(1);
qtyColumn.setTotalsCalculation(TotalsCalculation.SUM);

ListColumn labelColumn = table.getListColumns().get(0);
labelColumn.setTotalsRowLabel("Total");

Επαναφορά και μετατροπή τραπεζών

Ανακατεύουμε ένα τραπέζι για να καλύψουμε μια διαφορετική περιοχή κυττάρων χρησιμοποιώντας ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).

Μετατρέψτε ένα τραπέζι πίσω σε μια κανονική περιοχή κυττάρων με ListObject.convertToRange(). Αυτό αφαιρεί τη δομή του πίνακα, διατηρώντας τα δεδομένα των κυττάρων και τη μορφοποίηση.

Απομακρύνετε ένα τραπέζι από την συλλογή με ListObjectCollection.removeAt(index).


Φίλτρο αυτοκινήτου σε τραπέζια

Εμφάνιση ή αφαιρέστε την στήλη κατεβάσει αυτο-φιλτράρ ελαστικά σε ένα τραπέζι:

  • ListObject.showAutoFilter() - εμφανίζει τις ράβδους φίλτρου στην σειρά κεφαλής.
  • ListObject.removeAutoFilter() - Κρύβετε τα φτερά φίλτρου.

Συνοπτική αναφορά API

ListObject

ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
getDisplayName()StringΔείξτε το όνομα του τραπέζου.
setDisplayName(name)voidΕισάγετε το όνομα της οθόνης.
getComment()StringΕναλλακτικό σχόλιο για το τραπέζι.
setComment(comment)voidΣτείλε το σχόλιο του τραπέζου.
getStartRow()intΞεκινήστε τον δείκτη γραμμής του εύρους πίνακα.
getStartColumn()intΞεκινήστε τον δείκτη στήλης της σειράς του πίνακα.
getEndRow()intΟ δείκτης τελικής γραμμής του εύρους πίνακα.
getEndColumn()intΟ δείκτης τελικής στήλης του εύρους πίνακα.
isShowHeaderRow()booleanΕίτε η γραμμή κεφαλής είναι ορατή.
setShowHeaderRow(show)voidΕμφάνιση ή κρύβει την σειρά κεφαλής.
isShowTotals()booleanΕίτε η συνολική σειρά είναι ορατή.
setShowTotals(show)voidΕμφάνιση ή κρύβει την συνολική σειρά.
getTableStyleType()TableStyleTypeΤο ενσωματωμένο στυλ του τραπέζου.
setTableStyleType(type)voidΕφαρμόζεται ένα ενσωματωμένο στυλ τραπέζι.
getTableStyleName()StringΕτικέτες Τίτλος του Στέλ.
setTableStyleName(name)voidΔημιουργήστε ένα προσαρμοσμένο όνομα στυλ τραπέζια.
getListColumns()ListColumnCollectionΗ συλλογή των στήλων του τραπέζου.
resize(...)voidΑνακατεύουμε το τραπέζι σε μια νέα σειρά.
convertToRange()voidΜετατρέψτε το τραπέζι σε κανονικό εύρος.
showAutoFilter()voidΕμφάνιση αυτο-φιλτράρ πυρά.
removeAutoFilter()voidΚρύβει τα αυτο-φιλτρά.

ListObjectCollection

ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
getCount()intΑριθμός πίνακων στο φύλλο εργασίας.
get(index)ListObjectΕπιστρέφει τον πίνακα στο δεδομένο μηδενικό δείκτη.
get(name)ListObjectΕπιστρέφει το τραπέζι με το όνομα της οθόνης.
add(startRow, startColumn, endRow, endColumn, hasHeaders)intΔημιουργεί ένα νέο πίνακα, επιστρέφει τον δείκτη του.
add(startCellName, endCellName, hasHeaders)intΔημιουργεί έναν νέο πίνακα από τα ονόματα κυττάρων, επιστρέφει τον δείκτη του.
removeAt(index)voidΑφαιρέστε το πίνακα στο δεδομένο δείκτη.
parseTableStyleType(name)TableStyleTypeΜετατρέποντας ένα στυλ σε ένα TableStyleType Αξία του ΕΝΟ.
tableStyleTypeName(type)StringΜετατρέψτε το A TableStyleType Το όνομα του στυλ.

ListColumn

ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
getId()intΟμολογημένος αναγνωριστής στήλης OOXML.
getName()StringΚεφάλαιο κειμένου.
setName(name)voidΕισάγετε το κείμενο της στήλης επικεφαλής.
getTotalsCalculation()TotalsCalculationΟλοκληρώστε τη λειτουργία συλλογής.
setTotalsCalculation(calc)voidΣύνθεσε την συνολική σειρά συγκέντρωσης.
getTotalsRowLabel()StringΕτικέτες στο σύνολο της σειράς.
setTotalsRowLabel(label)voidΣημειώστε το συνολικό σήμα.
getTotalsRowFormula()StringΠροσαρμοσμένη φόρμουλα για την συνολική σειρά.
setTotalsRowFormula(formula)voidΕισάγετε τη συνολική φόρμουλα.

Περιορισμοί

  • Οι δεσμοί δεδομένων του πίνακα δεν μπορούν να τροποποιηθούν ξεχωριστά· ο πίενος καλύπτει το εύρος Ο χρόνος δημιουργίας του. χρησιμοποιήστε resize() Προσαρμογή του καλύπτεται εύρος.
  • Οι προσαρμοσμένες στυλ τραπεζιού πρέπει να καθορίζονται στο βιβλίο εργασίας πριν από την αναφορά τους Με το όνομα του via setTableStyleName().

Δείτε επίσης

 Ελληνικά