Travailler avec les commentaires
Travailler avec les commentaires
Aspose.Cells FOSS for Java lets you add, read, modify, and remove cell commentaires (notes) dans les livres de travail XLSX. Commentaires sont accessibles par le biais du CommentCollection sur un tableau et sont représentés comme Comment objets qui porte le texte de note, le nom d’auteur et les dimensions d’affichage.
Vue d’ensemble
Chaque table de travail expose ses commentaires par le biais de Worksheet.getComments(),qui, qui Retour à A CommentCollection.Vous pouvez ajouter un commentaire par adresse cellulaire ou par index de ligne/colonne, récupérer les commentaires existants par index ou nom cellulaire, et Il faut les supprimer quand ils ne sont plus nécessaires.
A Comment Le texte de la note (getNote()/setNote()) l’auteur (getAuthor()/setAuthor()La position de l’anchor (getRow(), getColumn()Les dimensions de l’affichage (getWidth(), getHeight()) et Si la défaut est visible (isVisible()/setVisible()).
Accès à des commentaires sur un feuille de travail
Retrée le CommentCollection De toute Worksheet par via Worksheet.getComments().Utiliser CommentCollection.getCount() Pour déterminer Combien de commentaires sont présents. les commentaire individuels sont accessibles par Indice basé sur zéro CommentCollection.get(index) ou par le nom de cellule par le CommentCollection.get(cellName).
Ajouter un commentaire
Utiliser CommentCollection.add(cellName) ou CommentCollection.add(row, column) Pour envoyer un nouveau commentaire. les deux surcharges Retour à A Comment Objet. Sélectionnez le texte et l’auteur sur la note retournée Avant de faire des économies.
// Add a comment to cell B2 and configure it
Comment comment = ws.getComments().add("B2");
comment.setNote("Review this value before submission.");
comment.setAuthor("Analyst");
comment.setVisible(false);
comment.setWidth(180);
comment.setHeight(60);Lire comment contenu
Téléchargez tous les commentaires en utilisant le compte :
CommentCollection comments = ws.getComments();
for (int i = 0; i < comments.getCount(); i++) {
Comment c = comments.get(i);
System.out.printf("Cell [%d,%d] author=%s note=%s%n",
c.getRow(), c.getColumn(), c.getAuthor(), c.getNote());
}Modifier un commentaire existant
Retraite le commentaire par adresse cellulaire et mettez à jour ses champs directement :
Comment c = ws.getComments().get("B2");
if (c != null) {
c.setNote("Updated note text.");
c.setVisible(true);
}Supprimer un commentaire
Utiliser CommentCollection.removeAt(index) ou CommentCollection.removeAt(cellName) Pour supprimer un commentaire :
ws.getComments().removeAt("B2");Conseils et meilleures pratiques
- Vérifiez toujours ce
CommentCollection.get(cellName)ne revient pasnullavant de modifier un commentaire - la cellule peut ne pas avoir d’avis attaché. - Sélection
Comment.setVisible(false)pour les notes qui ne devraient apparaître que sur Hover, qui correspond au comportement standard Excel. - Utiliser
Comment.setWidth()etComment.setHeight()(en pixels) pour assurer la La boîte de notes est assez grande pour le texte multi-line. - Les noms d’auteur sont enregistrés comme des lignes plates ; ils ne sont pas valides contre la liste d’utilisateurs du livre de travail.
- Commentaires survivre un chargement/sauvegarde à travers XLSX lorsque aucune modification n’est effectuée sont faits pour
CommentCollection.
Les problèmes communs
| Problème | Cause | Fixé |
|---|---|---|
get(cellName) Retourner null | Aucun commentaire à cette adresse | Vérifier l’adresse cellulaire ou iteration par index |
| Le commentaire est vide après sauvegarde | setNote() Ne pas appeler avant de sauver | Appel à setNote() sur le retour Comment Avant de sauvegarder le livre de travail |
| Commenter non visible dans Excel | setVisible(false) Il a été établi | Changement à setVisible(true) ou sur la cellule dans Excel |
FAQ
Comment ajouter un commentaire à une ligne et une colonne spécifiques?
Utiliser CommentCollection.add(row, column),Les deux valeurs sont basées sur zéro. Les indicateurs : ceci est équivalent à add(cellName) avec la cellule correspondante Adresse de .
Puis-je modifier l’auteur d’un commentaire existant ?
Oui, récupère le Comment par via get(cellName) et appeler setAuthor(name) avec le nouveau auteur string.
Comment puis-je vérifier si un commentaire est visible ?
Appel à Comment.isVisible().Retourner true Si le commentaire est toujours Il a été montré ; false Si elle ne se présente que sur le sol.
Les commentaires sont-ils conservés lors de la conversion vers d’autres formats ?
Les commentaires sont conservés sur XLSX round-trip. Le comportement de préservation pour d’autres formats dépend du support format dans la sortie cible.
Comment compter les commentaires sur un feuille de travail ?
Utiliser Worksheet.getComments().getCount().
Le résumé de référence API
Comment
| méthode | Type de retour | Description |
|---|---|---|
getRow() | int | Indice de ligne basé sur zéro de la cellule anchor. |
getColumn() | int | Indice de colonne basé sur zéro de la cellule anchor. |
getNote() | String | Le texte de commentaire. |
setNote(note) | void | Mettez le texte de commentaire. |
getAuthor() | String | Le nom de l’auteur. |
setAuthor(author) | void | Mettez le nom de l’auteur. |
isVisible() | boolean | Que la boîte de commentaire soit toujours visible. |
setVisible(visible) | void | Définissez la visibilité de la boîte d’avis. |
getWidth() | int | La largeur de la boîte d’avis en pixels. |
setWidth(width) | void | Définissez la largeur de la boîte d’avis. |
getHeight() | int | La hauteur de la boîte d’avis en pixels. |
setHeight(height) | void | Déterminer la hauteur de la boîte d’avis. |
CommentCollection
| méthode | Type de retour | Description |
|---|---|---|
getCount() | int | Nombre de commentaires sur le tableau. |
get(index) | Comment | Retournez le commentaire sur l’indice basé sur zéro. |
get(cellName) | Comment | Retournez le commentaire à l’adresse cellulaire donnée. |
add(row, column) | Comment | Ajouter un nouveau commentaire à la position de ligne/colonne. |
add(cellName) | Comment | Ajouter un nouveau commentaire à l’adresse cellulaire. |
removeAt(index) | void | Réservez le commentaire sur l’index basé sur zéro. |
removeAt(cellName) | void | Retirez le commentaire à l’adresse cellulaire. |