我在一张excel表中有一个单元格,其中只包含一条评论。我这样创建了它:
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);
现在我有一个新项目,我只想将该评论复制到另一个工作表的单元格,这应该只适用于:
XSSFRow row_master_a = null;
XSSFRow row_slave_a = null;
for(int j = 4;j<anz_neu+4;j++){
row_master_a = sheet_master.getRow(4+anz_neu+3-j);
if(row_master_a == null){
row_master_a = sheet_master.createRow(4+anz_neu+3-j);
}
row_master_a.setHeightInPoints(40);
row_slave_a = sheet_slave.getRow(j);
row_master_a.createCell(0).setCellComment(row_slave_a.getCell(0).getCellComment());`
我没有收到任何错误,但我在新表中也没有评论。 有人可以帮忙吗?
由于
答案 0 :(得分:1)
您必须创建一个单独的注释对象,并且只复制字符串内容,因为Comment-object与Sheet相关联。
即。
之类的东西 Drawing drawing_master = sheet_master.createDrawingPatriarch();
Comment comment_master = drawing_master.createCellComment(anchor);
comment_master.setString(row_slave_a.getCell(0).getCellComment().getString());
row_master_a.createCell(0).setCellComment(comment_master);