Java: Add and Read Comments in Excel
Tags: java, excel, comments, api
Published: 2021-10-11 06:27:10

Excel comments can serve for various purposes, such as explaining the contents in cells, offering tips to other users, or cross-referencing with other Excel workbooks. This article will share how to add comments to an Excel file and read the comments using Free Spire.XLS for Java.

**Import JAR Dependency (2 Method)**
**1#** Download the [free library](https://www.e-iceblue.com/Download/xls-for-java-free.html) and unzip it, then add the Spire.Xls.jar file to your project as dependency.
**2#** You can also add the jar dependency to maven project by adding the following configurations to the pom.xml.
```xml
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>http://repo.e iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>3.9.1</version>
    </dependency>
</dependencies>
```

**Add Comments 
The following is the sample code of adding a regular comment and a rich text comment to an Excel file**
```java
import com.spire.xls.*;

public class InsertComments {
    public static void main(String[] args){
        //Load a Excel file
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sales1.xlsx");

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

        //Create fonts
        ExcelFont font = workbook.createFont();
        font.setFontName("Arial");
        font.setSize(11);
        font.setKnownColor(ExcelColors.Orange);
        ExcelFont fontBlue = workbook.createFont();
        fontBlue.setKnownColor(ExcelColors.LightBlue);
        ExcelFont fontRed = workbook.createFont();
        fontRed.setKnownColor(ExcelColors.Red);

        //Add regular comment to specific cell range
        CellRange range = sheet.getCellRange("A8");
        range.getComment().setText("A new employee.");
        range.autoFitColumns();

        //Add rich text comment to specific cell range
        range = sheet.getCellRange("F8");
        range.getComment().getRichText().setText("Best sales of the month.");
        range.getComment().getRichText().setFont(0, 10, fontRed);
        range.getComment().getRichText().setFont(17, 23, fontBlue);

        //Save the resultant file
        workbook.saveToFile("AddComments.xlsx", ExcelVersion.Version2013);
    }
}
```
![addcomments](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ch5bsscikuwqmub2wnx.jpg)

**Read Comments**
```java
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ReadComments {
    public static void main(String[] args){
        //Load Excel file
        Workbook workbook = new Workbook();
        workbook.loadFromFile("AddComments.xlsx");
        //Get the first worksheet
        Worksheet sheet = workbook.getWorksheets().get(0);
        //Print out the comment
        System.out.println("The first comment: " + sheet.getCellRange("A8").getComment().getText());
        System.out.println("The second comment: " + sheet.getCellRange("F8").getComment().getRichText().getRtfText());
    }
}
```
![readcomments](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3umu5b35yoxn9vvb7qbf.jpg)