FileDocCategorySizeDatePackage
CellComments.javaAPI DocApache Poi 3.0.13845Mon Jan 01 18:59:10 GMT 2007org.apache.poi.hssf.usermodel.examples

CellComments

public class CellComments extends Object
Demonstrates how to work with excel cell comments.

Excel comment is a kind of a text shape, so inserting a comment is very similar to placing a text box in a worksheet

author
Yegor Kozlov

Fields Summary
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] args)


        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("Cell comments in POI HSSF");

        // Create the drawing patriarch. This is the top level container for all shapes including cell comments.
        HSSFPatriarch patr = sheet.createDrawingPatriarch();

        //create a cell in row 3
        HSSFCell cell1 = sheet.createRow(3).createCell((short)1);
        cell1.setCellValue(new HSSFRichTextString("Hello, World"));

        //anchor defines size and position of the comment in worksheet
        HSSFComment comment1 = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));

         // set text in the comment
        comment1.setString(new HSSFRichTextString("We can set comments in POI"));

        //set comment author.
        //you can see it in the status bar when moving mouse over the commented cell
        comment1.setAuthor("Apache Software Foundation");

        // The first way to assign comment to a cell is via HSSFCell.setCellComment method
        cell1.setCellComment(comment1);

        //create another cell in row 6
        HSSFCell cell2 = sheet.createRow(6).createCell((short)1);
        cell2.setCellValue(36.6);


        HSSFComment comment2 = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 8, (short) 6, 11));
        //modify background color of the comment
        comment2.setFillColor(204, 236, 255);

        HSSFRichTextString string = new HSSFRichTextString("Normal body temperature");

        //apply custom font to the text in the comment
        HSSFFont font = wb.createFont();
        font.setFontName("Arial");
        font.setFontHeightInPoints((short)10);
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        font.setColor(HSSFColor.RED.index);
        string.applyFont(font);

        comment2.setString(string);
        comment2.setVisible(true); //by default comments are hidden. This one is always visible.

        comment2.setAuthor("Bill Gates");

        /**
         * The second way to assign comment to a cell is to implicitly specify its row and column.
         * Note, it is possible to set row and column of a non-existing cell.
         * It works, the commnet is visible.
         */
        comment2.setRow(6);
        comment2.setColumn((short)1);

        FileOutputStream out = new FileOutputStream("poi_comment.xls");
        wb.write(out);
        out.close();