Trabajar con comentarios
Trabajar con comentarios
Aspose.Cells FOSS for Java lets you add, read, modify, and remove cell comentarios (notes) en los libros de trabajo XLSX. Los comentarios se acceden a través del CommentCollection en un taller y se representan como Comment Objetos que lleva el texto de la nota, nombre del autor y dimensiones de muestra.
Visión general
Cada hoja de trabajo exponer sus comentarios a través de Worksheet.getComments(),que, que Volver a CommentCollection.Puedes agregar un comentario por dirección celular o por índice de línea/columna, recibe los comentarios existentes por índices o nombre de células; y Removemos cuando ya no es necesario.
A Comment El texto de la nota (getNote()/setNote()El autor, el (getAuthor()/setAuthor()La posición de la ancha (getRow(), getColumn()y las dimensiones de su imagen (getWidth(), getHeight()y) y ¿Es posible que se vea por defecto (isVisible()/setVisible()).
Acceso a comentarios en una hoja de trabajo
Recuperar el CommentCollection de cualquier Worksheet por vía Worksheet.getComments().Uso de CommentCollection.getCount() Para determinar cuántos comentarios están presentes.Los comentarios individuales son accesibles por Indice basado en cero CommentCollection.get(index) o por nombre de célula A través de CommentCollection.get(cellName).
Añadiendo un comentario
Uso CommentCollection.add(cellName) o CommentCollection.add(row, column) Para escribir un comentario.Todos los dos sobrecargar Volver a Comment -Sit el texto y autor de la nota en el reenviado. Previo antes de ahorrar.
// 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);Leer Comentarios Contenido
Toma todos los comentarios utilizando el cuadro:
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());
}Modificar un comentario existente
Retirar el comentario por dirección celular y actualizar sus campos directamente:
Comment c = ws.getComments().get("B2");
if (c != null) {
c.setNote("Updated note text.");
c.setVisible(true);
}Remover un comentario
Uso CommentCollection.removeAt(index) o CommentCollection.removeAt(cellName) Para eliminar un comentario:
ws.getComments().removeAt("B2");Consejos y mejores prácticas
- Siempre ver que
CommentCollection.get(cellName)No vuelvenullantes de modificar un comentario, la célula puede no tener ningún comentário anexado. - Sitio
Comment.setVisible(false)para las anotaciones que sólo deberían aparecer en el Hover, que corresponde al comportamiento estándar de Excel. - Uso
Comment.setWidth()yComment.setHeight()(en píxeles) para garantizar que La caja de nota es lo suficientemente grande para el texto multi-line. - Los nombres de autor se almacenan como líneas plazas; no están validados contra la lista de usuarios del libro de trabajo.
- Comentarios sobrevivir a una carga/salva redondear a través de XLSX cuando no hay modificaciones Se hacen para
CommentCollection.
Problemas comunes
| Problemas | Causas | Fixado |
|---|---|---|
get(cellName) Retorno null | No hay comentarios en esa dirección | Verificar la dirección de la célula o iterar por índice |
| La nota de comentarios es vacía después de salvar | setNote() No se llama antes de salvar | llamadas setNote() En el regreso Comment Antes de salvar el libro de trabajo |
| Comentarios no visibles en Excel | setVisible(false) Se estableció | Cambio a setVisible(true) o sobre la célula en Excel |
FAQ
¿Cómo puedo agregar un comentario a una línea y columna específica?
Uso CommentCollection.add(row, column),donde ambos valores son basados en cero. de la misma. es equivalente a add(cellName) con la célula correspondiente dirección .
¿Puedo cambiar el autor de un comentario existente?
Sí, retire el Comment por vía get(cellName) y llamar setAuthor(name) con el nuevo autor de la serie.
¿Cómo puedo comprobar si un comentario está visible?
llamadas Comment.isVisible().de vuelta true Si la caja de comentarios siempre es que se muestra; false Si sólo aparece en la cuna.
¿Se conservan los comentarios cuando se conforman a otros formatos?
Los comentarios se conservan en el XLSX round-trip. El comportamiento de conservación para otros formatos depende del soporte al formato en la salida objetivo.
¿Cómo puedo contar comentarios en una hoja de trabajo?
Uso Worksheet.getComments().getCount().
Sumación de referencia API
Como
| Metodología | Tipo de regreso | Descripción |
|---|---|---|
getRow() | int | Indice de línea basado en cero de la célula anchor. |
getColumn() | int | Indice de columna basado en cero de la célula ancor. |
getNote() | String | El texto de comentarios. |
setNote(note) | void | Entra el texto de comentarios. |
getAuthor() | String | El nombre del autor. |
setAuthor(author) | void | -Consulte el nombre del autor. |
isVisible() | boolean | Si la caja de comentarios es siempre visible. |
setVisible(visible) | void | - Define la visibilidad de la caja de comentarios. |
getWidth() | int | La extensión de la caja de comentarios en píxeles. |
setWidth(width) | void | - Define la anchura de la caja de comentarios. |
getHeight() | int | La altura de la caja de comentarios en píxeles. |
setHeight(height) | void | - Define la altura de la caja de comentarios. |
CommentCollection
| Metodología | Tipo de regreso | Descripción |
|---|---|---|
getCount() | int | Número de comentarios en el taller. |
get(index) | Comment | Devolver el comentario al índice basado en cero. |
get(cellName) | Comment | Devolver el comentario a la dirección de la célula dada. |
add(row, column) | Comment | Admitir un nuevo comentario en la posición de línea/columna. |
add(cellName) | Comment | Añade un nuevo comentario en la dirección de la célula. |
removeAt(index) | void | Eliminar el comentario en el índice basado en cero. |
removeAt(cellName) | void | Removemos el comentario en la dirección de la célula. |