Thanks for you help on this topic. I have tried to "dig" into the POI library to find the linkage between the image info and the image binary. The only linkage I can find is that there is an EscherProperty called "BLIP__BLIPTODISPLAY", which is inside the EscherOptRecord of each image. The hashCode of the BLIP__BLIPTODISPLAY property is the same as the sequence of the inserted images in the original Excel.
Unfortunately, this sequence is not the same as the picture index from the list returned by getAllPictures() function. It is due to the deletion and insertion of images in the Excel. For example, 1) Insert a image called pic1.jpg in the Excel - hashCode of BLIP__BLIPTODISPLAY = 1, no of item returned from getAllPictures() is 1. 2) Insert another image called pic2.jpg in the Excel - hashCode of BLIP__BLIPTODISPLAY = 1 & 2, no of item returned from getAllPictures() is 2. 3) Delete pic1.jpg from the Excel - hashCode of BLIP__BLIPTODISPLAY = 2, no of item returned from getAllPictures() is 1. Currently, I find a workaround by adding a new function to get the EscherBSERecord from the AbstractEscherHolderRecord which exactly return 2 items for case 3). (i.e. the BLIP record for the first BSE Record is null) Of course.... It is not a good way by using the hashCode as the key for mapping of image info and binary.... So, I'm long for your better solution if any. Thanks a lot. -- View this message in context: http://www.nabble.com/Get-image-binary-data-in-Excel-worksheet-with-known-filename-cell-location-tp24413607p24457282.html Sent from the POI - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
