Travailler avec des tables
Travailler avec des tables
Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or Vous pouvez créer de nouvelles tables à partir des rangs cellulaires, inspecter les tables existantes, configurer le titre et les lignes totales, appliquer des styles de table intégrés, accéder aux colonnes individuelles, et convertir les tables à la reprise normale. Le point d’entrée est ListObjectCollection,Accès par le biais de Worksheet.getListObjects().
Vue d’ensemble
Les tables sur un tableau de travail sont gérés par le biais du ListObjectCollection Retourné par Worksheet.getListObjects().Chaque ListObject Il est un tableau Excel et exposer son nom d’affichage, commentaire, limites de gamme cellulaire, collection de colonnes, style Les paramètres et les header/totals sont visibles.
Une nouvelle table est créée avec ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), qui retourne l’indice basé sur zéro de la table nouvellement créée. une alternative Le surcharge accepte les lignes de nom cellulaire : ListObjectCollection.add(startCellName, endCellName, hasHeaders).
Classes clés
| Classes | Description |
|---|---|
ListObject | Il représente une table unique Excel. Expositions getDisplayName(), getComment(), coordonnées de gamme, collection de colonnes, type de style et visibilité des têtes/totales. |
ListObjectCollection | Collecte de tous les tables sur un feuille de travail.Support getCount(),Indicé et nommé sur le site get(), add(), remove(),et les aides de conversion de type style. |
ListColumn | Représente une colonne dans un tableau. Expose l’ID de la colonie, le nom et les paramètres de calcul total-roue. |
ListColumnCollection | Collecte commandée de colonnes dans une table. Iterable avec le nombre et l’accès à l’index. |
TableStyleType | Enum identifiant un style de table Excel intégré (Light 1–21, Medium 1-28, Dark 1-11 ou Custom/None). |
TotalsCalculation | Enum pour la fonction d’agrément sur l’ordre total d’une table (SUM, COUNT, AVERAGE, MAX, MIN, STD_DEV, VAR, CONTACT_NUMS, CUSTOM, NONE). |
Accès à des tables sur un feuille de travail
Retrée le ListObjectCollection De toute Worksheet par via Worksheet.getListObjects().Utiliser ListObjectCollection.getCount() Pour déterminer nombre de tables existant. les tabelles individuelles sont accessibles par index basé sur zéro à travers le ListObjectCollection.get(index) ou par le nom de l’afficheur 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());
}Créer une nouvelle table
Utiliser ListObjectCollection.add() pour insérer une table au-dessus d’une gamme de cellules. hasHeaders Paramètre indique si la première ligne de la gamme contient Les chefs de colonne.
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");Inspection des propriétés de table
Une fois que vous avez un ListObject Le référentiel que vous pouvez lire :
ListObject.getDisplayName()- la barre de nom d’affichage du tableau.ListObject.getComment()- un commentaire facultatif associé à la table.ListObject.getStartRow()/ListObject.getStartColumn()- la cellule supérieure gauche de l’ordre du table.ListObject.getEndRow()/ListObject.getEndColumn()- la cellule droite de l’ordre du table.ListObject.isShowHeaderRow()- si la ligne de tête est visible.ListObject.isShowTotals()- si la ligne totale est visible.ListObject.getListColumns()- leListColumnCollectionpour la table.
Tableau de style
Application d’un style de table intégré en utilisant ListObject.setTableStyleType(TableStyleType). Le TableStyleType Enum comprend Lumière (1–21), Medium (1‐28) et Ténèbres (1-11) Variations plus NONE et CUSTOM.
ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);Style supplémentaire toggles contrôle les lignes bandées, columnes bande et l’accent de la première/la dernière colonne:
ListObject.setShowTableStyleRowStripes(boolean)ListObject.setShowTableStyleColumnStripes(boolean)ListObject.setShowTableStyleFirstColumn(boolean)ListObject.setShowTableStyleLastColumn(boolean)
Vous pouvez également définir un nom de style personnalisé avec ListObject.setTableStyleName(String).
Méthodes d’aide ListObjectCollection.parseTableStyleType(String) et ListObjectCollection.tableStyleTypeName(TableStyleType) Convertir entre les Enum et sa représentation de la ligne.
Travailler avec des tableaux de colonnes
Accès aux colonnes individuelles par le biais de ListObject.getListColumns(),qui revient à ListColumnCollection.Chaque ListColumn Exposé :
ListColumn.getId()- l’identificateur de colonne OOXML à base unique.ListColumn.getName()/ListColumn.setName(String)- le texte de la colonne.ListColumn.getTotalsCalculation()/ListColumn.setTotalsCalculation(TotalsCalculation)- la fonction d’agrément pour l’ordre total.ListColumn.getTotalsRowLabel()/ListColumn.setTotalsRowLabel(String)- un étiquette personnalisé dans la ligne totales.ListColumn.getTotalsRowFormula()/ListColumn.setTotalsRowFormula(String)- une formule personnalisée pour la ligne totales.
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());
}Configurer la ligne totales
Il permet de faire la totalité des ListObject.setShowTotals(true),Et puis, par colonne fonction d’agrément en utilisant le TotalsCalculation Enum !.
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");Réversion et conversion des tables
Réafficher une table pour couvrir un autre range de cellules en utilisant ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).
Convertir une table à un rang normal de cellules avec ListObject.convertToRange(). Cela supprime la structure de table tout en conservant les données cellulaires et le formatage.
Supprimer une table entièrement de la collection avec ListObjectCollection.removeAt(index).
Filtre sur table
Afficher ou supprimer la colonne de filtre automatique à descente sur une table :
ListObject.showAutoFilter()- afficher les filtres sur la ligne de tête.ListObject.removeAutoFilter()- cacher les filtres.
Le résumé de référence API
ListObject
| méthode | Type de retour | Description |
|---|---|---|
getDisplayName() | String | Afficher le nom de la table. |
setDisplayName(name) | void | Mettez le nom de l’affichage. |
getComment() | String | Commentaires facultatifs sur la table. |
setComment(comment) | void | Faites le commentaire de table. |
getStartRow() | int | Démarrez l’index de la ligne du tableau. |
getStartColumn() | int | Démarrez l’indice de colonne du champ de table. |
getEndRow() | int | Indice de la ligne finale du tableau. |
getEndColumn() | int | Indice de la colonne finale du champ de table. |
isShowHeaderRow() | boolean | Le titre de la ligne est visible. |
setShowHeaderRow(show) | void | Afficher ou cacher la ligne de tête. |
isShowTotals() | boolean | Le total de la ligne est visible. |
setShowTotals(show) | void | Il montre ou cache la ligne totale. |
getTableStyleType() | TableStyleType | Le style de table intégré. |
setTableStyleType(type) | void | Il s’agit d’un style de table intégré. |
getTableStyleName() | String | Nom de table personnalisé. |
setTableStyleName(name) | void | Un nom de table style. |
getListColumns() | ListColumnCollection | Collecte de colonnes de la table. |
resize(...) | void | Réécouter la table à un nouveau rang. |
convertToRange() | void | Convertez la table à un rang normal. |
showAutoFilter() | void | Il affiche les filtres auto. |
removeAutoFilter() | void | Il est à l’aide de filtres auto. |
ListObjectCollection
| méthode | Type de retour | Description |
|---|---|---|
getCount() | int | Nombre de tableaux sur le feuille de travail. |
get(index) | ListObject | Retourne la table à l’indice basé sur le zéro donné. |
get(name) | ListObject | Retournez la table avec le nom d’affichage donné. |
add(startRow, startColumn, endRow, endColumn, hasHeaders) | int | Créez une nouvelle table ; retournez son index. |
add(startCellName, endCellName, hasHeaders) | int | Créer une nouvelle table à partir des noms de cellules ; retourner son index. |
removeAt(index) | void | Retirez la table à l’index donné. |
parseTableStyleType(name) | TableStyleType | Convertir un fil à une TableStyleType valeur enum. |
tableStyleTypeName(type) | String | Convertir à TableStyleType Enum à son nom string. |
ListColumn
| méthode | Type de retour | Description |
|---|---|---|
getId() | int | Identificateur de colonne OOXML. |
getName() | String | Le texte de la colonne. |
setName(name) | void | Définir le texte de la colonne. |
getTotalsCalculation() | TotalsCalculation | La fonction d’agrément total. |
setTotalsCalculation(calc) | void | Définir l’ensemble de la ligne d’accumulation. |
getTotalsRowLabel() | String | L’étiquette personnalisée dans la ligne totale. |
setTotalsRowLabel(label) | void | Mettez le total de l’étiquette. |
getTotalsRowFormula() | String | Formule personnalisée pour la ligne totale. |
setTotalsRowFormula(formula) | void | Il s’agit de la formule totale. |
Les limites
- Les liens de données de table ne peuvent pas être modifiés séparément; la table couvre le champ de Date de création : utilisation
resize()Adapter la gamme couverte. - Les styles de table personnalisés doivent être définis dans le livre d’oeuvre avant de les référer. par nom via
setTableStyleName().