Changing an embedded excel on a slide doesn't change the "preview image"

Hello,


I have a presentation with a Excel table on a slide. When the presentation is opened, only a preview image is shown (the image is stored at ppt/media/image1.emf). When I change some information of the embedded Excel, the preview image won’t get updated.

The attached presentation has a changed value in the embedded Excel (new A1 value is 15), but the preview image shows for A1 still the value 1. I have to double-click the preview image - then the new value is shown.

My expectation was that aspose.slides would update the preview image. Would that be a feature request or a bug?

Best regards
Frank

If it helps here is the corresponding code:


Presentation pres = new Presentation("<source_file_name>.pptx");
ISlide slide = pres.getSlides().get_Item(0);
for (IShape shp : slide.getShapes()) {
if (shp instanceof OleObjectFrame) {
OleObjectFrame oleObjectFrame = (OleObjectFrame) shp;
byte[] objectData = oleObjectFrame.getObjectData();
Workbook wb = new Workbook(new ByteArrayInputStream(
objectData));

wb.getWorksheets().get(0).getCells().get(0, 0).putValue(15);

com.aspose.cells.OoxmlSaveOptions so1 = new com.aspose.cells.OoxmlSaveOptions(
com.aspose.cells.SaveFormat.XLSX);
ByteArrayOutputStream msout = new ByteArrayOutputStream();

// Saving modified excel sheet
wb.save(msout, so1);

// Changing Ole frame object data
oleObjectFrame.setObjectData(msout.toByteArray());

}
}

// Save the PPTX to Disk
pres.save(“Excel table on slide - preview image needs update.pptx”, SaveFormat.Pptx);

Hi Frank,


Thank you for your interest in Aspose.Slides.

I have observed your requirements and worked with the presentation file shared by you. I would like to share that this behavior of Aspose.Slides is no exception, Power Point works the same way. I have verified this on my end by using Power Point 2013. If you are able to do this by using Power Point then please share with us so that we can investigate it further to help you out.

Best Regards,

Hi,


well, the process with PowerPoint would be:
  1. Open the PowerPoint-file
  2. Double click the preview image of the embedded excel table
  3. PowerPoint creates an overlay for the embedded excel table
  4. Change the value of A1 to 15
  5. Click outside the overlay
  6. PowerPoint closes the overlay and generates a new preview image
So I would say that PowerPoint supports my requirement :-).

Best Regards,
Frank

Hi Frank,

I have observed your requirement and like to share that when you add or update the embedded excel sheet value programmatically using Aspose.Slides and Aspose.Cells, you need create the updated worksheet image using Aspose.Cells and apply that image to Ole frame in presentation using Aspose.Slides. There is no automatic way available in this regard to generate the automatic embedded ole excel worksheet image. Please visit this documentation link to see how to create the excel sheet image and apply that to slide.

Many Thanks,

Hi,

it’s awhile ago, but now we came back to this feature. The documentation link you postet decribes how to make images of excel charts. We need images of excel data or table data. The following link describes how to do it:
Java to everyone: Convert Excel sheet to Images

Just for the case that someone else has the same question.

Greetings
Frank

Hi Frank,

Thank you very much for sharing valuable feedback with us. I also like to share this documentation link for generating the excel sheet image for any one else convenience as well who is interested in getting worksheet image.

Many Thanks,