Hi Martijn,

Which version of POI are you using? If you are using POI 3.7beta3, is it 
possible to create a bugzilla with the minimal sample XLS file and code that 
show the error. That will allow a developer to determine what the trouble might 
be.

One thought could be that the image is compressed and the value in 
field_5_cbSave is uncompressed.

How was this file created? Do you know what type of image it its? EMF, PNG, GIF?

Regards,
Dave

On Oct 13, 2010, at 8:18 AM, martijn.list wrote:

> Hi,
> 
> I get an ArrayIndexOutOfBoundsException when extracting an image from an
> Excel file.
> 
> The exception is thrown when handling a DrawingGroupRecord event and
> calling DrawingGroupRecord#decode() on the DrawingGroupRecord.
> 
> The exception is thrown because data does is not large enough (i.e.,
> field_5_cbSave is larger than data.length - pos)
> 
> LINE 93 in EscherMetafileBlip:
> 
> System.arraycopy( data, pos, raw_pictureData, 0, field_5_cbSave );
> 
> Stacktrace:
> 
> java.lang.ArrayIndexOutOfBoundsException
>       at java.lang.System.arraycopy(Native Method)
>       at
> org.apache.poi.ddf.EscherMetafileBlip.fillFields(EscherMetafileBlip.java:93)
>       at 
> org.apache.poi.ddf.EscherBSERecord.fillFields(EscherBSERecord.java:79)
>       at
> org.apache.poi.ddf.EscherContainerRecord.fillFields(EscherContainerRecord.java:53)
>       at
> org.apache.poi.ddf.EscherContainerRecord.fillFields(EscherContainerRecord.java:53)
>       at
> org.apache.poi.hssf.record.AbstractEscherHolderRecord.convertToEscherRecords(AbstractEscherHolderRecord.java:82)
>       at
> org.apache.poi.hssf.record.AbstractEscherHolderRecord.decode(AbstractEscherHolderRecord.java:260)
>       at
> mitm.common.extractor.impl.office.ExcelPOIExtractor$RecordEventListener.handleDrawingGroupRecord(ExcelPOIExtractor.java:451)
>       at
> mitm.common.extractor.impl.office.ExcelPOIExtractor$RecordEventListener.processRecord(ExcelPOIExtractor.java:475)
>       at
> org.apache.poi.hssf.eventusermodel.FormatTrackingHSSFListener.processRecord(FormatTrackingHSSFListener.java:82)
>       at
> org.apache.poi.hssf.eventusermodel.HSSFRequest.processRecord(HSSFRequest.java:112)
>       at
> org.apache.poi.hssf.eventusermodel.HSSFEventFactory.genericProcessEvents(HSSFEventFactory.java:147)
>       at
> org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processEvents(HSSFEventFactory.java:106)
> 
> Any idea what might be the problem?
> 
> 
> 
> Kind regards,
> 
> Martijn
> 
> PS I'm using trunk
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to