How to change background in comment in Excel

How to change color in comment in Excel

When you don’t need the default background color for comments, you may want to replace it with a color you’re interested in.How do I change the background color of the Comments box in Excel?

The following code will guide you how to use Aspose.Cells to add your favorite background color to comments of your own choice.

Here we have prepared a sample file for you.This file is used to initialize the Workbook object in the code below.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String path = "";
//Initialize a new workbook.
Workbook book = new Workbook(path + "exmaple.xlsx");
// Accessing the newly added comment
com.aspose.cells.Comment comment = book.getWorksheets().get(0).getComments().get(0);
// change background color
Shape shape = comment.getCommentShape();
shape.getFill().getSolidFill().setColor(Color.getRed());
// Save the Excel file
book.save(path + "result.xlsx");

Execute the above code and you will get an output file.

How to insert picture or image in comment in Excel

Microsoft Excel lets users customize the look and feel of spreadsheets to a great extent. It is even possible to add background pictures to comments.Adding a background image can be an aesthetic choice, or be used to strengthen branding.

The sample code below creates an XLSX file from scratch using Aspose.Cells API , and adds a comment with a picture background to cell A1.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = "";
// Create directory if it is not already present.
File file = new File(dataDir);
if(!file.exists())
file.mkdir();
// Instantiate a Workbook
Workbook workbook = new Workbook();
// Get a reference of comments collection with the first sheet
com.aspose.cells.CommentCollection comments = workbook.getWorksheets().get(0).getComments();
// Add a comment to cell A1
int commentIndex = comments.add(0, 0);
com.aspose.cells.Comment comment = comments.get(commentIndex);
comment.setNote("First note.");
comment.getFont().setName("Times New Roman");
// Load an image
String filename = dataDir + "image.jpg";
byte[] result = null;
java.nio.channels.FileChannel fc = null;
try {
fc = new java.io.RandomAccessFile(filename, "r").getChannel();
java.nio.MappedByteBuffer byteBuffer = fc.map(java.nio.channels.FileChannel.MapMode.READ_ONLY, 0,
fc.size()).load();
System.out.println(byteBuffer.isLoaded());
result = new byte[(int) fc.size()];
if (byteBuffer.remaining() > 0) {
byteBuffer.get(result, 0, byteBuffer.remaining());
}
} catch (IOException e) {
throw e;
} finally {
try {
fc.close();
} catch (IOException e) {
throw e;
}
}
// Set image data to the shape associated with the comment
comment.getCommentShape().getFill().setImageData(result);
// Save the workbook
String resDataDir = dataDir + "commentwithpicture1.out.xlsx";
workbook.save(resDataDir);