Εργασία με τα τραπέζια
Εργασία με τα τραπέζια
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().