Робота з коментарами
Робота з коментарами
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) щоб вставити новий коментар. Обидва перевантаження повернути a 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.
Загальні питання
| Issue | Cause | Виправлення |
|---|---|---|
get(cellName) повернення null | Немає коментарів на цьому адресі. | Перевірка адреси клітини або ітерація за показником |
| Коментар після збереження порожній . | setNote() не викликано до збереження | Call setNote() на поверненому Comment перед збереженням робочого книжки |
| Коментар не видимий в Excel | setVisible(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 | Видає коментар на адресі. |