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 pas null avant 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() et Comment.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èmeCauseFixé
get(cellName) Retourner nullAucun commentaire à cette adresseVérifier l’adresse cellulaire ou iteration par index
Le commentaire est vide après sauvegardesetNote() Ne pas appeler avant de sauverAppel à setNote() sur le retour Comment Avant de sauvegarder le livre de travail
Commenter non visible dans ExcelsetVisible(false) Il a été établiChangement à 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éthodeType de retourDescription
getRow()intIndice de ligne basé sur zéro de la cellule anchor.
getColumn()intIndice de colonne basé sur zéro de la cellule anchor.
getNote()StringLe texte de commentaire.
setNote(note)voidMettez le texte de commentaire.
getAuthor()StringLe nom de l’auteur.
setAuthor(author)voidMettez le nom de l’auteur.
isVisible()booleanQue la boîte de commentaire soit toujours visible.
setVisible(visible)voidDéfinissez la visibilité de la boîte d’avis.
getWidth()intLa largeur de la boîte d’avis en pixels.
setWidth(width)voidDéfinissez la largeur de la boîte d’avis.
getHeight()intLa hauteur de la boîte d’avis en pixels.
setHeight(height)voidDéterminer la hauteur de la boîte d’avis.

CommentCollection

méthodeType de retourDescription
getCount()intNombre de commentaires sur le tableau.
get(index)CommentRetournez le commentaire sur l’indice basé sur zéro.
get(cellName)CommentRetournez le commentaire à l’adresse cellulaire donnée.
add(row, column)CommentAjouter un nouveau commentaire à la position de ligne/colonne.
add(cellName)CommentAjouter un nouveau commentaire à l’adresse cellulaire.
removeAt(index)voidRéservez le commentaire sur l’index basé sur zéro.
removeAt(cellName)voidRetirez le commentaire à l’adresse cellulaire.

Voir aussi

 Français