Работа с комментариями

Работа с комментариями

Aspose.Cells FOSS for Java lets you add, read, modify, and remove cell комментарии (заметки) в рабочих книгах XLSX. Комментариям доступ через систему “Компьютерные файлы” CommentCollection на рабочем листе и представлены как: Comment предметы которые содержат текст заметки, имя автора и размеры отображения.


Обзор

Каждый рабочий лист раскрывает свои комментарии через: Worksheet.getComments(), которые: возвращает a CommentCollection.Вы можете добавить комментарий по мобильному адресу или на: индекс строки/колоны, получение существующих комментариев по названию индекса или ячейки; и удалить их, когда они больше не нужны.

А. - Да . Comment хранит текст примечания (getNote()/setNote()), автор (getAuthor()/setAuthor()), его положение якоря (getRow(), getColumn()), его размер (getWidth(), getHeight()), и является ли она видимой по умолчанию (isVisible()/setVisible()).


Доступ к комментариям на рабочем листе

Возвращение . CommentCollection от любого Worksheet через: Worksheet.getComments().Используйте . CommentCollection.getCount() определить: Каждый из них доступен по адресу: нулевой индекс через CommentCollection.get(index) или по названию ячейки. через CommentCollection.get(cellName).


Добавление комментариев

Использование: CommentCollection.add(cellName) или в другом случае: CommentCollection.add(row, column) Включить новый комментарий. возвращаем а Comment Настроить текст и автора заметки на возвращенной странице. Второй пример - это сохранение.

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

Содержание комментариев

Итерация по всем комментариям с использованием подсчета:

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

Изменение существующего комментария

Восстановление комментария по адресу сотовой связи и обновление его полевых данных напрямую:

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

Удаление комментария

Использование: CommentCollection.removeAt(index) или в другом случае: CommentCollection.removeAt(cellName) для удаления комментария:

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

Советы и лучшие практики

  • Всегда проверяй это . CommentCollection.get(cellName) не возвращается. null перед изменением комментария в ячейке может быть не приложен коммент.
  • Набор Comment.setVisible(false) для примечаний, которые должны быть указаны только на Hover, что соответствует стандартному поведению Excel.
  • Использование: Comment.setWidth() и в том числе: Comment.setHeight() (в пикселях) для обеспечения: ящик для записей достаточно большой, чтобы содержать текст из нескольких строк.
  • Имена авторов хранятся как простые строки, они не проверяются в списке пользователей сборника.
  • Комментарии переживают загрузку/сохранение по XLSX, когда никаких изменений нет. изготовлены для: CommentCollection.

Общие проблемы

IssueCauseУстранить
get(cellName) возвраты nullНикаких комментариев по этому адресу.Проверка адреса ячейки или итерация по индексу .
Запись комментариев пуста после сохранения .setNote() Не вызван до сохранения .Call setNote() на возвращенный Comment перед сохранением сборника работы.
Комментарий не видим в ExcelsetVisible(false) была установленаПерейти на: setVisible(true) или поместить на карту в Excel

FAQ

Как я добавляю комментарий в определенный ряд и колонку?

Использование: CommentCollection.add(row, column), где обе значения основаны на нулевых . Это эквивалентно: add(cellName) с соответствующей ячейкой адрес.

Могу ли я изменить автора существующего комментария?

Да, возьми. Comment через: get(cellName) и позвони . setAuthor(name) с новой строкой автора.

Как я проверяю, видится ли комментарий?

Call Comment.isVisible().Возвратные платежи . true если поле комментариев всегда показан; false если он появляется только на ховер.

Сохраняются ли комментарии при преобразовании в другие формы?

Комментарии сохраняются на XLSX-поезде. Поведение сохранения для других форматов зависит от поддержки формата в целевом выходе .

Как я считаю комментарии на рабочем листе?

Использование: Worksheet.getComments().getCount().


Справочное резюме API

Comment

MethodТип возвратаDescription
getRow()intИндекс строки на основе нуля.
getColumn()intИндекс столбца на нулевой основе.
getNote()StringТекст комментария.
setNote(note)voidУстанавливает текст комментария.
getAuthor()StringИмя автора.
setAuthor(author)voidУстанавливает имя автора.
isVisible()booleanВсегда ли видно поле комментариев.
setVisible(visible)voidУстанавливает видимость поле комментариев.
getWidth()intШирина поля комментариев в пикселях.
setWidth(width)voidУстанавливает ширину поля комментариев.
getHeight()intВысота поля комментариев в пикселях.
setHeight(height)voidУстанавливает высоту поле комментариев.

CommentCollection

MethodТип возвратаDescription
getCount()intКоличество комментариев на рабочем листе.
get(index)CommentВозвращает комментарий на нулевом индексе.
get(cellName)CommentВозвращает комментарий по указанному адресу.
add(row, column)CommentДобавляет новый комментарий в строке/столбе.
add(cellName)CommentДобавляет новый комментарий к адресу сотового телефона.
removeAt(index)voidУстраняет комментарий в индексе на основе нуля.
removeAt(cellName)voidУбирает комментарий на мобильный адрес.

См. также:

 Русский