使用Microsoft Excel后,Java不会识别Excel工作表中的注释字段

时间:2016-02-02 09:34:37

标签: java apache-poi excel-2010

我正在使用Apache POI创建Excel工作表。在该表中有一个带注释的单元格。我可以用Java和Microsoft Excel阅读该评论。 如果我打开,更改某些内容并使用Microsoft Excel 2010保存工作表,Java(Apache)将无法再识别注释字段。 问题是什么,如何解决?

我创建了这样的评论:

slice

阅读:

        CreationHelper factory = wb.getCreationHelper();
        Drawing drawing = sheet.createDrawingPatriarch();

        // When the comment box is visible, have it show in a 5x70 space
        ClientAnchor anchor = factory.createClientAnchor();
        anchor.setCol1(cell.getColumnIndex());
        anchor.setCol2(cell.getColumnIndex()+5);
        anchor.setRow1(row.getRowNum());
        anchor.setRow2(row.getRowNum()+70);


        Comment comment = drawing.createCellComment(anchor);
        String text = "";
        RichTextString str = factory.createRichTextString(text);

        comment.setString(str);
        row.createCell(0).setCellComment(comment); 

由于

1 个答案:

答案 0 :(得分:0)

我通过创建一个新单元解决了这个问题。 使用excel保存工作表后,Apache认为注释字段为空,因为没有其他内容(仅注释)。 如果我创建一个新单元格(row_slave.createCell(0)),则注释仍然存在并准备好被读取。