DEV Community

CodeSharing
CodeSharing

Posted on

Java: Add and Read Comments in Excel

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 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.

<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>
Enter fullscreen mode Exit fullscreen mode

Add Comments
The following is the sample code of adding a regular comment and a rich text comment to an Excel file

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);
    }
}
Enter fullscreen mode Exit fullscreen mode

addcomments

Read Comments

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());
    }
}
Enter fullscreen mode Exit fullscreen mode

readcomments

Discussion (0)