Managing Pictures
Aspose.Cells allows developers to add pictures to spreadsheets at runtime. Moreover, the positioning of these pictures can be controlled at runtime, which is discussed in more detail in the coming sections.
This article explains how to add pictures, and how to insert an image that shows the content of certain cells.
Adding Pictures
Adding pictures to a spreadsheet is very easy. It only takes a few lines of code.
Simply call the add method of the Pictures collection (encapsulated in the Worksheet object). The add method takes the following parameters:
- Upper left row index, the index of the upper left row.
- Upper left column index, the index of the upper left column.
- Image file name, the name of the image file, complete with path.
// 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 = Utils.getDataDir(AddingPictures.class); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Obtaining the reference of first worksheet | |
Worksheet sheet = worksheets.get(0); | |
// Adding a picture at the location of a cell whose row and column indices are 5 in the worksheet. It is "F6" cell | |
int pictureIndex = sheet.getPictures().add(5, 5, dataDir + "logo.jpg"); | |
Picture picture = sheet.getPictures().get(pictureIndex); | |
// Saving the Excel file | |
workbook.save(dataDir + "book1.xls"); |
Positioning of Pictures
Pictures can be positioned using Aspose.Cells as follows:
Absolute Positioning
Developers can position the pictures absolutely by using the setUpperDeltaX and setUpperDeltaY methods of the Picture object.
// 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 = Utils.getDataDir(AbsolutePositioning.class); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the newly added worksheet. | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
// Adding a picture at the location of a cell whose row and column indices are 5 in the worksheet. It is "F6" cell | |
int pictureIndex = worksheet.getPictures().add(5, 5, dataDir + "logo.jpg"); | |
Picture picture = worksheet.getPictures().get(pictureIndex); | |
// Positioning the picture proportional to row height and colum width | |
picture.setUpperDeltaX(200); | |
picture.setUpperDeltaY(200); | |
// Saving the Excel file | |
workbook.save(dataDir + "test_pictures.xls"); |