Hello,
We urgently need some way to insert images JPEG, GIF.. in an excel file.
Is there any other way or any other API in java supporting this?

thanks in advance,

regards

----- Original Message -----
From: "Michael Zalewski" <[EMAIL PROTECTED]>
To: "POI Users List" <[EMAIL PROTECTED]>
Sent: Thursday, December 04, 2003 6:39 PM
Subject: RE: Including images in Excel sheet


> How interesting. Thanks for your reply. What you said makes sense and I
> don't know why I missed it (the OBJ record) so many times.
>
> (My copy of the Excel Developers guide is electronic, and in HTML. The
page
> that describes the OBJ record is mysteriously truncated). But there is
> enough there to interpret:
>
> >-BEGIN DUMP---------------------------------
> >00000000 15 00 12 00 08 00 01 00 11 60 00 00 00 00 00 07 .........`......
> >00000010 DC 00 00 00 00 00 07 00 02 00 FF FF 08 00 02 00 ................
> >00000020 01 00 00 00 00 00                               ......
>
> 15 00 = sub type 0x15, Common Object Data
> 12 00 = length 18 bytes
> 08 00 = Object Type 0008 (Picture)
> 01 00 = Object ID 0001
> 60 11 = Object Flags (Auto-Line, Auto-Fill, Printable, Locked)
> 00 00 00 00 00 07 DC 00 00 00 00 00 = should be 0 according to Excel 97
> developers guide
>
> 07 00 = sub type 0x07, Clipboard Format
> 02 00 = length 2 bytes
> FF FF = private format
>
> 08 00 = sub type 0x08, Picture Option Flags
> 02 00 = length 2 bytes
> 01 00 = Flags (?) Excel 97 Developers Guide says reserved
>
> 00 00 = sub type 0x00, End
> 00 00 = length 0 bytes
>
> The first sub record makes particular sense, because Excel shows a name of
> 'Picture 1' when the picture is selected. None of the stuff inside the
> Escher objects corresponded to this, especially when you add, group, and
> delete objects.
>
> So there are still some small details I don't understand - What is the
> meaning of Flags in sub type 08, What is the meaning of the 07 DC bytes in
> the Common sub type which should be all 00 according to the developer's
> guide.
>
> About submitting my stuff as a patch: I would except for these things:
>
> 1) According to my reading of this list, a committer is working on it, and
> will be released soon.
>
> 2) It's *way* more than just a patch. Nearly 50 new classes in an entirely
> new package, plus a dozen or so changed and new classes inside HSSF. And
> almost as many Junit test cases.
>
> 3) Even so, it isn't really integrated with HSSF, because of the problems
I
> am having with using RecordFactory. The drawing structure is split across
> many BIFF records, which are not necessarily contiguous. RecordFactory
> builds separate objects for each BIFF record (unless it's a CONTINUE
record,
> which is never used in these drawing records as far as I know).
>
> So how can you implement an MsoDrawingRecord object? RecordFactory will
> return a List of objects, but each MsoDrawing object will only have one
> branch of the tree. To alter the drawing structure, you need to walk the
> entire tree. For example, when you create new objects, a new Shape ID is
> created, whose value depends on Shape Ids already assigned. When you Group
> or Ungroup objects, you collapse or split nodes in the tree.
>
> I suppose the best way would be to add some class to WorkSheet, which
would
> scan the List returned by RecordFactory, and assemble all the drawing
> records into one structure that can be manipulated. Or just hack up
> RecordFactory to treat the drawing records somehow similar to the CONTINUE
> records.
>
> I chose instead to wait and see how this was actually to be implemented by
> the committers.
>
> The only thing my package does do that is somewhat useful are the
extensions
> to BiffViewer, which produce output of the drawing records in a indented
> format which corresponds to the hierarchy, like I showed in my original
> message below. The package understands a good chunk of the record types,
> such as lines and arrows, rectangles and ovals, autoshapes, call-out
> diagrams, 3 D objects, connectors, etc. It also understands how to group
and
> ungroup. I haven't tried yet, but I believe it would extend easily to work
> with Power Point.
>
> -----Original Message-----
> From: Glen Stampoultzis [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, December 03, 2003 10:35 PM
> To: POI Users List
> Subject: RE: Including images in Excel sheet
>
> At 01:11 PM 4/12/2003, you wrote:
> >I am curious if you have deciphered the meaning of the 0x5d BIFF record
> that
> >occurs between MSODRAWING records. It does not seem to be an anchor. If
you
> >know, I would appreciate comments.
> >
> >Here is an example from my enhanced version of BiffViewer.
> >
> >============================================
> >Offset 0x1044 (4164)
> >rectype = 0xec, recsize = 0xdc
> >-BEGIN DUMP---------------------------------
> >00000000 0F 00 02 F0 D4 00 00 00 10 00 08 F0 08 00 00 00 ................
> >00000010 02 00 00 00 01 04 00 00 0F 00 03 F0 BC 00 00 00 ................
> >00000020 0F 00 04 F0 28 00 00 00 01 00 09 F0 10 00 00 00 ....(...........
> >00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> >00000040 02 00 0A F0 08 00 00 00 00 04 00 00 05 00 00 00 ................
> >00000050 0F 00 04 F0 84 00 00 00 B2 04 0A F0 08 00 00 00 ................
> >00000060 01 04 00 00 00 0A 00 00 43 00 0B F0 4A 00 00 00 ........C...J...
> >00000070 04 41 01 00 00 00 05 C1 32 00 00 00 BF 01 00 00 .A......2.......
> >00000080 01 00 BF 03 00 00 08 00 44 00 3A 00 5C 00 42 00 ........D.:.\.B.
> >00000090 41 00 53 00 49 00 53 00 5C 00 47 00 4D 00 4C 00 A.S.I.S.\.G.M.L.
> >000000A0 5C 00 46 00 4D 00 55 00 5F 00 47 00 30 00 31 00 \.F.M.U._.G.0.1.
> >000000B0 2E 00 42 00 4D 00 50 00 00 00 00 00 10 F0 12 00 ..B.M.P.........
> >000000C0 00 00 02 00 00 00 00 00 00 00 00 00 04 00 40 00 [EMAIL PROTECTED]
> >000000D0 10 00 5A 00 00 00 11 F0 00 00 00 00             ..Z.........
> >-END DUMP-----------------------------------
> >recordid = 0xec, size =220
> >  [MSODRAWING]
> >Drawing Container n=0
> >   Drawing Atom v=0 (f008) Drawing ID=1
> >     Number of Shapes: 2
> >     Last Assigned Shape ID: 1:1
> >   Shape Group Container (f003) n=0
> >     Shape Container n=0
> >       DrawingShapeGroup Atom v=1 n=0
> >         Boundary: (0,0)-(0,0)
> >       Shape v=2 (f00a) Primitive
> >         ShapeId: 1:0
> >         Flags: Group, Patriarch
> >     Shape Container n=0
> >       Shape v=2 (f00a) Picture Frame
> >         ShapeId: 1:1
> >         Flags: Anchored, Has Property
> >       Property Table Atom (f00b) v=3, 4 properties
> >         Property Table
> >           BLIP (260): 1
> >           BLIP File Name (261): D:\IMAGES\FMU_G01.BMP
> >           [f]Fill Flags (447): 65536
> >           Unknown Property (959): 524288
> >       Client Anchor Atom v=0 (f010) n=0
> >         Binary Data
> >           02 00 00 00 00 00 00 00 00 00 04 00 40 00 10 00
> >           5A 00
> >[/MSODRAWING]
> >
> >============================================
> >Offset 0x1124 (4388)
> >rectype = 0x5d, recsize = 0x26
> >-BEGIN DUMP---------------------------------
> >00000000 15 00 12 00 08 00 01 00 11 60 00 00 00 00 00 07 .........`......
> >00000010 DC 00 00 00 00 00 07 00 02 00 FF FF 08 00 02 00 ................
> >00000020 01 00 00 00 00 00                               ......
> >-END DUMP-----------------------------------
> >recordid = 0x5d, size =38
> >[UNKNOWN RECORD:5d]
> >     .id        = 5d
> >[/UNKNOWN RECORD]
> >
> >The Client Anchor Atom above is the anchor which describes how the
drawing
> >is positioned, and is interpreted outside of the Escher object. The 0x5d
> >record follows immediately, and I haven't got a clue about how to build
it.
>
> That an OBJ record.  The Excel 97 Developers Guide describes how to create
> this record.
>
> >Also, how does your library deal with the MSODRAWING records, which are
> >scattered throughout the worksheet? Neither MSODRAWING nor
MSODRAWINGGROUP
> >uses CONTINUE records like the rest of Excel.
>
> This puzzled me for a long time.  I ended up aggregating them together
> before attempting to decode the hierarchy.  When serializing them back out
> again I had to be careful to chop the hierarchy back up at the right
spots.
>
> >I too had (actually have) a package that does drawings. The drawing part
> >(contents of MSODRAWING and MSODRAWINGGROUP records) are completely
worked
> >out, except for these unknown BIF records, and the compression of BLIP
> >structures. I can build the Escher side of the MSODRAWING structure with
> >various kinds of shapes and properties, including PNG images
> (uncompressed).
>
> I've implemented BLIP compression and decompression (it's not too
> hard).  What I haven't done is provide a high level API for that bit yet.
>
> >However, I also cannot release just yet. I'm not even a committer. And I
> >thought the committers were about to release something, so I stopped work
> on
> >the Excel interface. My main interest was getting it to work with
Microsoft
> >Project.
>
> I'm a committer was planning on releasing this sooner but unfortunately
> it's paid work and the payment hasn't been finalized yet.
>
> You don't need to be a committer to develop POI.  Just submit a patch and
> if everything is okay one of the committers will load it into CVS for you.
>
> The stuff I have is a little bit tied to Excel but could be made more
> generic without too much effort.
>
>
> ---------------------------------------------------------------------
> 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