在apache poi(对于.xlsx文件)中创建单元格注释,并禁用显示注释

时间:2013-04-19 07:54:57

标签: apache-poi xlsx xssf

我正在尝试使用apache poi创建单元格注释。我可以创建注释,但默认情况下它们始终显示在excel中。我必须手动右键单击单元格并取消勾选显示注释以使它们不可见(现在它们仅在我悬停在单元格上时出现)。默认情况下是否可以使单元格注释不可见(以便在用户将鼠标悬停在单元格上之前它们不会出现在Excel中。)

以下是我使用的代码:

    Drawing drawing = cell.getSheet().createDrawingPatriarch();
    CreationHelper factory = cell.getSheet().getWorkbook().getCreationHelper();
    ClientAnchor anchor = factory.createClientAnchor();
    anchor.setCol1(cell.getColumnIndex());
    anchor.setCol2(cell.getColumnIndex() + 1);
    anchor.setRow1(cell.getRowIndex());
    anchor.setRow2(cell.getRowIndex() + 3);

    Comment comment = drawing.createCellComment(anchor);
    RichTextString str = factory.createRichTextString(message);
    comment.setVisible(Boolean.FALSE);
    comment.setString(str);

    cell.setCellComment(comment);

1 个答案:

答案 0 :(得分:3)

Paroksh。我已经执行了你给出的相同代码。默认情况下,我只收到有关悬停的评论。它似乎不是代码问题,而是Excel设置问题。我在excel 2010中检查了它。如果你有不同的版本,那么检查类似的设置。

请检查首页 - >选项 - >高级 - >显示......

应选择“仅指示符,并悬停评论”单选按钮。