주석 작업
주석 작업
Aspose.Cells FOSS for Java은(는) XLSX 워크북에서 셀 주석(노트)을 추가, 읽기, 수정 및 제거할 수 있게 해줍니다. 주석은 워크시트의 CommentCollection를 통해 접근하며, Comment 객체로 표현되어 노트 텍스트, 작성자 이름 및 표시 크기를 포함합니다.
개요
각 워크시트는 Worksheet.getComments()를 통해 주석을 노출하며, 이는 CommentCollection를 반환합니다. 셀 주소 또는 행/열 인덱스로 주석을 추가하고, 인덱스 또는 셀 이름으로 기존 주석을 검색하며, 더 이상 필요하지 않을 경우 제거할 수 있습니다.
Comment은(는) 노트 텍스트(getNote()/setNote()), 작성자(getAuthor()/setAuthor()), 앵커 위치(getRow(), getColumn()), 표시 크기(getWidth(), getHeight()), 그리고 기본적으로 표시되는지 여부(isVisible()/setVisible())를 저장합니다.
워크시트에서 주석에 접근하기
임의의 Worksheet에서 CommentCollection를 Worksheet.getComments()를 통해 검색합니다. CommentCollection.getCount()을 사용하여 주석이 몇 개 있는지 확인합니다. 개별 주석은 CommentCollection.get(index)를 통한 0 기반 인덱스 또는 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)를 설정하십시오. 이는 표준 Excel 동작과 일치합니다. - 다중 행 텍스트를 충분히 표시할 수 있도록 메모 상자가 충분히 크도록
Comment.setWidth()와Comment.setHeight()(픽셀)을 사용하십시오. - 작성자 이름은 일반 문자열로 저장됩니다; 워크북의 사용자 목록과 대조 검증되지 않습니다.
CommentCollection에 수정이 없을 경우, 댓글은 XLSX를 통한 로드/저장 라운드트립에서도 유지됩니다.
일반적인 문제
| 문제 | 원인 | 수정 |
|---|---|---|
get(cellName)은 null을 반환합니다 | 해당 주소에 댓글이 없습니다 | 셀 주소를 확인하거나 인덱스로 반복하세요 |
| 저장 후 코멘트 메모가 비어 있습니다 | setNote()이 저장 전에 호출되지 않았습니다 | 워크북을 저장하기 전에 반환된 Comment에 setNote()를 호출하십시오 |
| Excel에서 주석이 보이지 않음 | setVisible(false)이 설정되었습니다 | setVisible(true)(으)로 변경하거나 Excel에서 셀 위에 마우스를 올리세요 |
FAQ
특정 행과 열에 댓글을 추가하려면 어떻게 해야 하나요?
두 값이 0부터 시작하는 인덱스인 경우 CommentCollection.add(row, column)를 사용하십시오. 이는 해당 셀 주소와 함께 add(cellName)와 동일합니다.
기존 댓글의 작성자를 변경할 수 있나요?
예. Comment를 get(cellName)을 통해 가져온 다음, 새 작성자 문자열과 함께 setAuthor(name)를 호출하십시오.
댓글이 현재 표시되는지 어떻게 확인할 수 있나요?
Comment.isVisible()를 호출하십시오. 댓글 상자가 항상 표시되는 경우 true을 반환하고, 마우스를 올렸을 때만 나타나는 경우 false를 반환합니다.
다른 형식으로 변환할 때 댓글이 보존되나요?
XLSX 라운드 트립에서는 댓글이 보존됩니다. 다른 형식에 대한 보존 동작은 대상 출력에서 해당 형식의 지원 여부에 따라 달라집니다.
워크시트에서 댓글 수를 어떻게 셀 수 있나요?
Worksheet.getComments().getCount()을(를) 사용하십시오.
API Reference 요약
Comment
| 메서드 | 반환 타입 | 설명 |
|---|---|---|
getRow() | int | 앵커 셀의 0 기반 행 인덱스. |
getColumn() | int | 앵커 셀의 0 기반 열 인덱스. |
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
| 메서드 | 반환 타입 | 설명 |
|---|---|---|
getCount() | int | 워크시트의 댓글 수. |
get(index) | Comment | 제로 기반 인덱스에 있는 주석을 반환합니다. |
get(cellName) | Comment | 주어진 셀 주소에 있는 댓글을 반환합니다. |
add(row, column) | Comment | 행/열 위치에 새 댓글을 추가합니다. |
add(cellName) | Comment | 셀 주소에 새 댓글을 추가합니다. |
removeAt(index) | void | 제로 기반 인덱스에 있는 주석을 제거합니다. |
removeAt(cellName) | void | 셀 주소에 있는 주석을 제거합니다. |