Java - Insert, Edit or Delete Comments in Excel
Tags: java, excel, comment
Published: 2022-08-26 09:36:00

A comment in Excel is a note that can be inserted into any cell. It can be used for many purposes, for example, to explain a formula, to give suggestions, or to provide notes for others. Once a comment is inserted, users can edit or delete it as per their requirements. In this article, I will demonstrate how to programmatically **insert, edit or delete comments in Excel in Java** using [Free Spire.XLS for Java](https://www.e-iceblue.com/Introduce/free-xls-for-java.html) API.

- [Insert Comments into Excel](https://dev.to/alexis92/java-insert-edit-or-delete-comments-in-excel-5dp7/#insert-comments-into-excel-using-java)
- [Edit Comments in Excel](https://dev.to/alexis92/java-insert-edit-or-delete-comments-in-excel-5dp7/#edit-comments-in-excel-using-java)
- [Delete Comments in Excel](https://dev.to/alexis92/java-insert-edit-or-delete-comments-in-excel-5dp7/#delete-comments-in-excel-using-java)

## Add Dependencies
**Method 1:** If you are using maven, you can easily import the JAR file of Free Spire.XLS for Java API into your application by adding the following code to your project's pom.xml file.
```java
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
```
**Method 2:** If you are not using maven, you can download Free Spire.XLS for Java from the [official website](https://www.e-iceblue.com/Download/xls-for-java-free.html), extract the zip file, then import the Spire.Xls.jar file under the lib folder into your project as a dependency.

## Insert Comments into Excel using Java
Free Spire.XLS for Java provides a **Worksheet.getCellRange("rangeName").addComment()** method for adding a comment to a specific cell. Once the comment is added, you can set text, formatting for the comment or fill the comment with image using the methods provided by the **ExcelComment** class.

The following example shows you how to add a regular text comment, add a comment with formatting and add a comment with image in Java using Free Spire.XLS for Java:
```java
import com.spire.xls.*;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class AddPlainTextComment {
    public static void main(String[] args) throws IOException {
        //Create a Workbook instance
        Workbook workbook = new Workbook();
        //Load an Excel file
        workbook.loadFromFile("Test.xlsx");

        //Get the first worksheet
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Add a comment to cell C6
        ExcelComment textComment = sheet.getCellRange("B6").addComment();
        //Set comment text
        textComment.setText("Also known as the panda bear or simply the panda.");
        //Set comment location
        textComment.setCommentLocation(true, false);
        //Show the comment
        textComment.setVisible(true);

        //Create a font
        ExcelFont font = workbook.createFont();
        font.setFontName("Calibri");
        font.setSize(12);
        font.setColor(Color.orange);
        font.isBold(true);
        //Add a comment to cell F6
        ExcelComment richTextComment = sheet.getCellRange("F6").addComment();
        //Set the height and width for the comment
        richTextComment.setHeight(100);
        richTextComment.setWidth(200);
        //Set comment text
        richTextComment.getRichText().setText("The giant panda is a bear species endemic to China.");
        //Set comment font
        richTextComment.getRichText().setFont(0, 50, font);
        richTextComment.setTextRotation(TextRotationType.LeftToRight);
        //Set the alignment for the comment text
        richTextComment.setVAlignment(CommentVAlignType.Center);
        richTextComment.setHAlignment(CommentHAlignType.Justified);
        //Set comment location
        richTextComment.setCommentLocation(true, false);
        //Show the comment
        richTextComment.setVisible(true);

        //Add a comment to cell B12
        ExcelComment imageComment = sheet.getCellRange("B12").addComment();
        //Load an image
        BufferedImage bufferedImage = ImageIO.read(new File("Panda.jpg"));
        //Use the image to fill the comment
        imageComment.getFill().customPicture(bufferedImage, "Panda.jpg");
        //Set the height and width for the comment
        imageComment.setHeight(bufferedImage.getHeight()/4);
        imageComment.setWidth(bufferedImage.getWidth()/4);
        //Set comment location
        imageComment.setCommentLocation(true, false);
        //Show the comment
        imageComment.setVisible(true);

        //Save the result file
        workbook.saveToFile("AddComments.xlsx", ExcelVersion.Version2016);
    }
}
```

![Add comments to Excel using Java](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zedil7648ociftzpp11m.png) 

## Edit Comments in Excel using Java
If you want to edit the comment of a specific cell, you can use the **Worksheet.getCellRange("rangeName").getComment()** method to get the comment of the cell, then edit the text, height, width or other properties of the comment using the methods of the **ExcelComment** class. 

The following example shows you how to edit the comments of specific cells in an Excel worksheet:
```java
import com.spire.xls.ExcelComment;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class EditComment {
    public static void main(String[] args){
        //Create a Workbook instance
        Workbook workbook = new Workbook();

        //Load an Excel file
        workbook.loadFromFile("AddComments.xlsx");

        //Get the first worksheet
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Get the comment of cell B6
        ExcelComment comment1 = sheet.getCellRange("B6").getComment();
        //Change the comment text
        comment1.setText("I have never seen a panda in the wild.");
        //Change the height and width of the comment
        comment1.setHeight(100);
        comment1.setWidth(150);
        comment1.setVisible(true);

        //Get the comment of cell F6
        ExcelComment comment2 = sheet.getCellRange("F6").getComment();
        //Change the size of the comment
        comment2.setAutoSize(true);

        //Save the result file
        workbook.saveToFile("EditComments.xlsx", ExcelVersion.Version2013);
    }
}
```

![Edit Comments in Excel using Java](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/56ebiklvuzlfddmoq9pk.png) 

## Delete Comments in Excel using Java
You can delete the comment from a specific cell by using the **Worksheet.getCellRange("rangeName").getComment().remove()** method or delete all the comments from a specific worksheet by using the **Worksheet.getComments().Clear()** method.

The following example shows how to delete all the comments from an Excel worksheet:
```java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class DeleteComment {
    public static void main(String[] args){
        //Create a Workbook instance
        Workbook workbook = new Workbook();
        //Load an Excel file
        workbook.loadFromFile("AddComments.xlsx");

        //Get the first worksheet
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Delete the comment from cell F6
        //sheet.getCellRange("F6").getComment().remove();

        //Delete all the comments from the worksheet
        sheet.getComments().clear();

        //Save the result file
        workbook.saveToFile("DeleteComments.xlsx", ExcelVersion.Version2013);
    }
}
```

![Delete Comments in Excel using Java](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mgo544h4wutwvdlimmx.png)