Lavorare con i commenti

Lavorare con i commenti

Aspose.Cells FOSS per Java consente di aggiungere, leggere, modificare e rimuovere i commenti delle celle (note) nei workbook XLSX. I commenti sono accessibili tramite il CommentCollection su un foglio di lavoro e sono rappresentati come oggetti Comment che contengono il testo della nota, il nome dell’autore e le dimensioni di visualizzazione.


Panoramica

Ogni foglio di lavoro espone i propri commenti tramite Worksheet.getComments(), che restituisce un CommentCollection. È possibile aggiungere un commento tramite l’indirizzo della cella o tramite l’indice di riga/colonna, recuperare i commenti esistenti per indice o per nome della cella e rimuoverli quando non sono più necessari.

Un Comment memorizza il testo della nota (getNote()/setNote()), l’autore (getAuthor()/setAuthor()), la sua posizione di ancoraggio (getRow(), getColumn()), le sue dimensioni di visualizzazione (getWidth(), getHeight()) e se è visibile per impostazione predefinita (isVisible()/setVisible()).


Accedere ai commenti su un foglio di lavoro

Recupera il CommentCollection da qualsiasi Worksheet tramite Worksheet.getComments(). Usa CommentCollection.getCount() per determinare quanti commenti sono presenti. I commenti individuali sono accessibili tramite indice a base zero attraverso CommentCollection.get(index) o per nome della cella tramite CommentCollection.get(cellName).


Aggiungere un commento

Usa CommentCollection.add(cellName) o CommentCollection.add(row, column) per inserire un nuovo commento. Entrambi i sovraccarichi restituiscono un oggetto Comment. Imposta il testo della nota e l’autore sull’istanza restituita prima di salvare.

// 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);

Lettura del contenuto del commento

Itera su tutti i commenti usando il conteggio:

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());
}

Modifica di un commento esistente

Recupera il commento tramite l’indirizzo della cella e aggiorna direttamente i suoi campi:

Comment c = ws.getComments().get("B2");
if (c != null) {
    c.setNote("Updated note text.");
    c.setVisible(true);
}

Rimozione di un commento

Usa CommentCollection.removeAt(index) o CommentCollection.removeAt(cellName) per eliminare un commento:

ws.getComments().removeAt("B2");

Suggerimenti e migliori pratiche

  • Verifica sempre che CommentCollection.get(cellName) non restituisca null prima di modificare un commento — la cella potrebbe non avere alcun commento allegato.
  • Imposta Comment.setVisible(false) per le annotazioni che dovrebbero apparire solo al passaggio del mouse, in linea con il comportamento standard di Excel.
  • Usa Comment.setWidth() e Comment.setHeight() (in pixel) per garantire che la casella della nota sia sufficientemente grande per il testo su più righe.
  • I nomi degli autori sono memorizzati come stringhe semplici; non vengono convalidati rispetto all’elenco utenti della cartella di lavoro.
  • I commenti sopravvivono a un ciclo di caricamento/salvataggio tramite XLSX quando non vengono apportate modifiche a CommentCollection.

Problemi comuni

ProblemaCausaCorrezione
get(cellName) restituisce nullNessun commento a quell’indirizzoVerifica l’indirizzo della cella o itera per indice
La nota del commento è vuota dopo il salvataggiosetNote() non è stato chiamato prima del salvataggioChiama setNote() sul Comment restituito prima di salvare la cartella di lavoro
Commento non visibile in ExcelsetVisible(false) è stato impostatoModifica in setVisible(true) o passa il mouse sulla cella in Excel

FAQ

Come aggiungere un commento in una riga e colonna specifiche?

Usa CommentCollection.add(row, column), dove entrambi i valori sono indici a base zero. Questo è equivalente a add(cellName) con l’indirizzo della cella corrispondente.

Posso cambiare l’autore di un commento esistente?

Sì. Recupera il Comment tramite get(cellName) e chiama setAuthor(name) con la nuova stringa dell’autore.

Come verifico se un commento è attualmente visibile?

Chiama Comment.isVisible(). Restituisce true se la casella del commento è sempre mostrata; false se appare solo al passaggio del mouse.

I commenti vengono conservati durante la conversione in altri formati?

I commenti vengono conservati nel round-trip XLSX. Il comportamento di conservazione per altri formati dipende dal supporto del formato nell’output di destinazione.

Come conto i commenti in un foglio di lavoro?

Usa Worksheet.getComments().getCount().


API Reference Riepilogo

Comment

MetodoTipo di ritornoDescrizione
getRow()intIndice di riga basato su zero della cella di ancoraggio.
getColumn()intIndice di colonna a base zero della cella di ancoraggio.
getNote()StringIl testo del commento.
setNote(note)voidImposta il testo del commento.
getAuthor()StringIl nome dell’autore.
setAuthor(author)voidImposta il nome dell’autore.
isVisible()booleanSe la casella dei commenti è sempre visibile.
setVisible(visible)voidImposta la visibilità della casella dei commenti.
getWidth()intLarghezza della casella dei commenti in pixel.
setWidth(width)voidImposta la larghezza della casella dei commenti.
getHeight()intAltezza della casella di commento in pixel.
setHeight(height)voidImposta l’altezza della casella dei commenti.

CommentCollection

MetodoTipo di ritornoDescrizione
getCount()intNumero di commenti sul foglio di lavoro.
get(index)CommentRestituisce il commento all’indice basato su zero.
get(cellName)CommentRestituisce il commento all’indirizzo della cella fornito.
add(row, column)CommentAggiunge un nuovo commento nella posizione riga/colonna.
add(cellName)CommentAggiunge un nuovo commento all’indirizzo della cella.
removeAt(index)voidRimuove il commento all’indice basato su zero.
removeAt(cellName)voidRimuove il commento all’indirizzo della cella.

Vedi anche

 Italiano