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