Lucrarea cu tabele
Lucrarea cu tabele
Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or Puteți crea noi tabele din intervale de celule, inspecta tabele existente, configurarea rândurilor de intitulare și a totalului, aplicarea stilurilor integrate ale tabelului;, accesarea coloanelor individuale, și de a converti tabele înapoi la intervale normale. Primarul punctul de intrare este: ListObjectCollection, accesat prin intermediul: Worksheet.getListObjects().
Prezentare generală
Tablele de pe o foaie de calcul sunt gestionate prin intermediul sistemului ListObjectCollection returnată de: Worksheet.getListObjects().Fiecare . ListObject reprezintă o tablă Excel și expune numele de afișare, comentariul, limitele intervalei celulelor, colectia de coloane, stilul setările și vizibilitatea rândurilor de titlu/total.
Se creează o nouă tablă cu: ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), care returnează indexul pe bază de zero al noului tabel creat. O alternativă este: Overload acceptă șiruri de nume ale celulelor: ListObjectCollection.add(startCellName, endCellName, hasHeaders).
Clase cheie
| Clasa de învăţământ | Descriere: |
|---|---|
ListObject | Reprezintă o singură tablă Excel. Expune getDisplayName(), getComment(), coordonatele de gamă, colectarea coloanelor, tipul stilului și vizibilitatea rândurilor intitulatoare/total. |
ListObjectCollection | Colectarea tuturor tabelurilor dintr-o foaie de lucru. Suporturi getCount(), indexate şi numite prin căutare. get(), add(), remove(), și ajutoare de conversie pentru stiluri. |
ListColumn | Reprezintă o coloană dintr-un tabel. Expune ID-ul, numele și setările de calcul al rândului total. |
ListColumnCollection | Colectare ordonată de coloane într-un tabel. Iterabil cu acces la număr și index. |
TableStyleType | Enum identificând un stil de tabel Excel încorporat (Light 121, Medium 1 ??28, Dark 1 11, sau Custom/None). |
TotalsCalculation | Enum pentru funcția de agregare pe rândul total al unei tabele (SUMĂ, CONTREZUIRE, MEDIA, MAX, MIN, STD_DEV, VAR, COUNT_NUMS, CUSTOM, NONE). |
Accesibilitatea tabelurilor pe o foaie de lucru
Obţineţi… ListObjectCollection de la orice Worksheet prin intermediul Worksheet.getListObjects().- Foloseste-l . ListObjectCollection.getCount() pentru a determina Aceste tabele sunt accesate prin index zero-based prin intermediul ListObjectCollection.get(index) sau prin afișare numele prin intermediul: 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());
}Crearea unei noi mese
Utilizare: ListObjectCollection.add() Pentru a introduce o tabelă pe un interval de celule. hasHeaders parametru indică dacă primul rând al intervalului conține: titlurile de coloană.
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");Inspecționarea proprietăților tabelului
Odată ce ai o … ListObject referință puteți citi:
ListObject.getDisplayName()șirul de nume al tabelului.ListObject.getComment()un comentariu opțional asociat tabelului.ListObject.getStartRow()/ListObject.getStartColumn()Celulară din partea de sus a stângă a intervalului tabelului.ListObject.getEndRow()/ListObject.getEndColumn()celula din dreapta jos a intervalului tabelului.ListObject.isShowHeaderRow()dacă rândul de intitulare este vizibil.ListObject.isShowTotals()dacă rândul total este vizibil.ListObject.getListColumns()înListColumnCollectionpentru masa.
Tabelele de stil
Aplicați un stil de tabel integrat folosind ListObject.setTableStyleType(TableStyleType). În ceea ce priveşte TableStyleType enum include Light (121), Medium (1 ??28), și Dark (1 11) variante plus NONE și de: CUSTOM.
ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);Modele suplimentare de schimb control al rândurilor cu benzi, ale coloanelor cu bandă și accentul pe prima/ultima coloană:
ListObject.setShowTableStyleRowStripes(boolean)ListObject.setShowTableStyleColumnStripes(boolean)ListObject.setShowTableStyleFirstColumn(boolean)ListObject.setShowTableStyleLastColumn(boolean)
De asemenea, puteți seta un nume de stil personalizat cu: ListObject.setTableStyleName(String).
Metode auxiliare ListObjectCollection.parseTableStyleType(String) și de: ListObjectCollection.tableStyleTypeName(TableStyleType) convertit între enum și reprezentarea lui de șir.
Lucrarea cu coloanele de tabel
Acces la coloane individuale prin: ListObject.getListColumns(), care returnează o ListColumnCollection.Fiecare . ListColumn expune:
ListColumn.getId()identificatorul de coloană OOXML pe bază unică.ListColumn.getName()/ListColumn.setName(String)textul de intitulare al coloanei.ListColumn.getTotalsCalculation()/ListColumn.setTotalsCalculation(TotalsCalculation)funcția de agregare pentru rândul total.ListColumn.getTotalsRowLabel()/ListColumn.setTotalsRowLabel(String)o etichetă personalizată în rândul total.ListColumn.getTotalsRowFormula()/ListColumn.setTotalsRowFormula(String)o formulă personalizată pentru rândul total.
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());
}Configurată a rândului total
Actionează rândul total cu: ListObject.setShowTotals(true), apoi setat pe coloană funcții de agregare folosind TotalsCalculation - Nu, nu.
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");Redimensionarea şi transformarea tabelurilor
Modificați dimensiunea unui tabel pentru a acoperi o gamă de celule diferită folosind: ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).
Convertează o tabelă înapoi la un interval normal de celule cu: ListObject.convertToRange(). Acest lucru elimină structura tabelului, păstrând datele celulei și formatarea.
Îndepărtați complet o tablă din colecție cu: ListObjectCollection.removeAt(index).
Autofiltru pe mese
Arată sau îndepărtează săgețile de filtru automat din coloana descărcată pe un tabel:
ListObject.showAutoFilter()afișarea săgeților de filtru pe rândul de intitulare.ListObject.removeAutoFilter()ascunde săgeţile filtrului.
Rezultatele de la data aplicării.
ListObject
| Metoda de evaluare | Tip de returnare | Descriere: |
|---|---|---|
getDisplayName() | String | Indică numele mesei. |
setDisplayName(name) | void | Setarea numelui de afișare. |
getComment() | String | Comentariile pentru tabel sunt opționale. |
setComment(comment) | void | Stabileşte comentariul tabelului. |
getStartRow() | int | Indicele rândului de pornire al intervalului tabelului. |
getStartColumn() | int | Indicele de start al coloanei din intervalul tabelului. |
getEndRow() | int | Indicele rândului final al intervalului tabelului. |
getEndColumn() | int | Indicele coloanei finale a intervalului tabelului. |
isShowHeaderRow() | boolean | Dacă rândul de intitulare este vizibil. |
setShowHeaderRow(show) | void | Arată sau ascunde rândul de intitulare. |
isShowTotals() | boolean | Dacă rândul total este vizibil. |
setShowTotals(show) | void | Arată sau ascunde rândul total. |
getTableStyleType() | TableStyleType | Stilul de masă încorporată. |
setTableStyleType(type) | void | Aplică un stil de masă încorporat. |
getTableStyleName() | String | Numele stilului de masă personalizat. |
setTableStyleName(name) | void | Setă un nume de stil personalizat pentru tabel. |
getListColumns() | ListColumnCollection | Colectia de coloane a mesei. |
resize(...) | void | Redimensionarea masa la o nouă gamă. |
convertToRange() | void | Convertează tabelul la o gamă normală. |
showAutoFilter() | void | Afişează săgeţile de filtrare automată. |
removeAutoFilter() | void | Ascunde săgeţile cu filtru automat. |
ListObjectCollection
| Metoda de evaluare | Tip de returnare | Descriere: |
|---|---|---|
getCount() | int | Numărul de tabele din fișă. |
get(index) | ListObject | Întoarce tabelul la indicele dat pe bază de zero. |
get(name) | ListObject | Întoarce tabelul cu numele de afișare dat. |
add(startRow, startColumn, endRow, endColumn, hasHeaders) | int | Creează o nouă tabelă; returnează indexul acesteia. |
add(startCellName, endCellName, hasHeaders) | int | Creează o nouă tabelă din numele celulelor; returnează indicele acesteia. |
removeAt(index) | void | Îndepărtează tabelul de la indicele dat. |
parseTableStyleType(name) | TableStyleType | Convertează un șir la o TableStyleType Valori enum. |
tableStyleTypeName(type) | String | Convertează un TableStyleType enum la numele său de șir. |
ListColumn
| Metoda de evaluare | Tip de returnare | Descriere: |
|---|---|---|
getId() | int | Identificator de coloană OOXML pe bază unică. |
getName() | String | Text de intitulare a coloanei. |
setName(name) | void | Stabilește textul de intitulare a coloanei. |
getTotalsCalculation() | TotalsCalculation | Funcția de agregare a rândurilor total. |
setTotalsCalculation(calc) | void | Stabilește agregarea rândurilor de sume. |
getTotalsRowLabel() | String | Etichetă personalizată în rândul total. |
setTotalsRowLabel(label) | void | Setarea totalul rând etichetă. |
getTotalsRowFormula() | String | Formula personalizată pentru rândul total. |
setTotalsRowFormula(formula) | void | Stabilește formula rândului total. |
Limite de aplicare
- Legăturile de date ale tabelului nu pot fi modificate separat; tabelul acoperă intervalul: specificat la momentul creării.
resize()pentru a ajusta gama acoperită. - Stilurile de tabel personalizate trebuie definite în cartea de lucru înainte de a le face referință. prin nume via
setTableStyleName().