Apache 如何将CellComments复制到新单元格(复制整个工作表时)

Apache 如何将CellComments复制到新单元格(复制整个工作表时),apache,apache-poi,Apache,Apache Poi,我正在尝试将CellComment复制到新的单元格(使用ApachePOI)。我知道我必须创建新的注释(而不仅仅是将旧注释设置到新单元格中),但我似乎无法找到如何复制锚点 private void createComment(Cell aNewCell, Comment theOldComment) { CreationHelper createHelper = aNewCell.getSheet().getWorkbook().getCreationHelper(); Clie

我正在尝试将CellComment复制到新的单元格(使用ApachePOI)。我知道我必须创建新的注释(而不仅仅是将旧注释设置到新单元格中),但我似乎无法找到如何复制锚点

private void createComment(Cell aNewCell, Comment theOldComment) {
    CreationHelper createHelper = aNewCell.getSheet().getWorkbook().getCreationHelper();
    ClientAnchor anchor = createHelper.createClientAnchor();
    // How to get the old CellComment anchor for x1, c2, y1, y2???
    Drawing drawing = aNewCell.getSheet().createDrawingPatriarch();
    Comment aNewComment = drawing.createCellComment(anchor);
    aNewComment.setString(theOldComment.getString());
    aNewCell.setCellComment(aNewComment);
}

使用家长而不是
CreationHelper
。从
HSSFPatriarch
的对象创建锚定,并将值作为参数传递给
createAnchor
函数。希望这有帮助

 HSSFPatriarch drawing = sheet.createDrawingPatriarch();
 ClientAnchor anchor = drawing.createAnchor(10, 20, 30, 40, (short)4, 2, (short)6, 5);
希望这有帮助

 private void createComment(HSSFCell aNewCell, Comment theOldComment) {
        HSSFPatriarch drawing = aNewCell.getSheet().getDrawingPatriarch();
        ClientAnchor anchor = drawing.createAnchor(drawing.getChildren().get(0).getAnchor().getDx1(),
                drawing.getChildren().get(0).getAnchor().getDx2(), drawing.getChildren().get(0).getAnchor().getDy1(),
                drawing.getChildren().get(0).getAnchor().getDy2(), (short)4, 2, (short)6, 5);
        Comment aNewComment = drawing.createCellComment(anchor);
        aNewComment.setString(theOldComment.getString());
        aNewCell.setCellComment(aNewComment);
    }