Java/ Add and Read Comments in Excel

Andrew Wilson
2 min readJan 7, 2022

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>

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);
}
}

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());
}
}

--

--

Andrew Wilson

Explore C#, Java and Python solutions for processing Word/Excel/PowerPoint/PDF files.