在禁用显示注释的情况下,使用Apache POI(适用于.xlsx文件)创建单元格注释

8
我正在尝试使用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);

你使用的是哪个版本的Apache POI?如果不是最新版本,你尝试过升级吗? - Gagravarr
嗨,Gagravarr,我正在使用Apache POI 3.9,这是最新版本。 - Paroksh Saxena
1个回答

3

Paroksh。我执行了你提供的相同代码。默认情况下,我只在悬停时获取评论。看来这不是代码问题,而是Excel设置问题。我已经在Excel 2010中检查过了。如果您有不同的版本,请检查类似的设置。

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

应该选择“仅指示器和悬停时的注释”单选按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接