[prev in list] [next in list] [prev in thread] [next in thread] 

List:       poi-user
Subject:    =?iso-8859-2?Q?Re:_Embed_HSSF_into_HSLF?=
From:       roman.durdik () volny ! cz
Date:       2009-09-30 9:54:25
Message-ID: b470d5d99ea8e0ea056a5274c031f23b () www1-mail ! volny ! cz
[Download RAW message or body]

Hello Yegor,
Thank you for the fast answer. I tried just to open the workbook and
write the same data back:

OLEShape ole = (OLEShape) sh[i];
HSSFWorkbook wb=new HSSFWorkbook(od.getData());
ObjectData od=ole.getObjectData();
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
wb.write(out); 
od.setData(out.toByteArray());

When I open the object in the Powerpoint I get this message: "The server
application, source file, or item can't be found, or returned as an
unknown error. You may need to reinstall the server application."

I also looked into od.storage._data and it is different before and after.

Can you please try to find another solution?

Thank you and best regards,
Roman

PS: I am using POI 3.5 beta 5 since I get this error in higher versions:
java.lang.NoSuchMethodError: \
org.apache.poi.ddf.EscherContainerRecord.getChildIterator()Ljava/util/Iterator; \
org.apache.poi.hslf.model.Sheet.getShapes(Sheet.java:213)






"Yegor Kozlov" <yegor@dinom.ru> wrote:

> roman.durdik@volny.cz wrote:
> > Hello all,
> > I am trying to create PPT slide which will contain
> > excel workbook. What
> > > I can do is that I create the excel object in the
> > Powerpoint template
> > > and then I can read it like this:
> > 
> > OLEShape ole = (OLEShape) sh[i];
> > ObjectData od=ole.getObjectData();
> > HSSFWorkbook wb=new HSSFWorkbook(od.getData());
> > HSSFSheet excelSheet=wb.getSheetAt(0);
> > HSSFRow row=excelSheet.getRow(0);
> > HSSFCell cell=row.getCell(0);
> > 
> > Everything works well up to now. Then I would like
> > to write some new
> > > data: cell.setCellValue("hello"); which works as
> > well.
> > > 
> > But now I would like to write the excel workbook
> > back to the powerpoint
> > > slide.
> > 
> > Could you please help me? I don't have any idea how
> > to do it.
> > > 
> 
> Try to serialize the workbook in a byte array and push
> the bytes back to ObjectData :
> 
> ByteArrayOutputStream out = new ByteArrayOutputStream();
> wb.write(out);
> od.setData(out.toByteArray());
> 
> Yegor
> 
> 
> > Thank you,
> > Roman
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> > > For additional commands, e-mail: user-help@poi.apache.org
> > > 
> > 
> 
> 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> For additional commands, e-mail: user-help@poi.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
For additional commands, e-mail: user-help@poi.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic