주석 작업

주석 작업

Aspose.Cells FOSS for Java은(는) XLSX 워크북에서 셀 주석(노트)을 추가, 읽기, 수정 및 제거할 수 있게 해줍니다. 주석은 워크시트의 CommentCollection를 통해 접근하며, Comment 객체로 표현되어 노트 텍스트, 작성자 이름 및 표시 크기를 포함합니다.


개요

각 워크시트는 Worksheet.getComments()를 통해 주석을 노출하며, 이는 CommentCollection를 반환합니다. 셀 주소 또는 행/열 인덱스로 주석을 추가하고, 인덱스 또는 셀 이름으로 기존 주석을 검색하며, 더 이상 필요하지 않을 경우 제거할 수 있습니다.

Comment은(는) 노트 텍스트(getNote()/setNote()), 작성자(getAuthor()/setAuthor()), 앵커 위치(getRow(), getColumn()), 표시 크기(getWidth(), getHeight()), 그리고 기본적으로 표시되는지 여부(isVisible()/setVisible())를 저장합니다.


워크시트에서 주석에 접근하기

임의의 Worksheet에서 CommentCollectionWorksheet.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()이 저장 전에 호출되지 않았습니다워크북을 저장하기 전에 반환된 CommentsetNote()를 호출하십시오
Excel에서 주석이 보이지 않음setVisible(false)이 설정되었습니다setVisible(true)(으)로 변경하거나 Excel에서 셀 위에 마우스를 올리세요

FAQ

특정 행과 열에 댓글을 추가하려면 어떻게 해야 하나요?

두 값이 0부터 시작하는 인덱스인 경우 CommentCollection.add(row, column)를 사용하십시오. 이는 해당 셀 주소와 함께 add(cellName)와 동일합니다.

기존 댓글의 작성자를 변경할 수 있나요?

예. Commentget(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셀 주소에 있는 주석을 제거합니다.

참조

 한국어