The code is done it just hasn't been committed. -- Andrew C. Oliver http://www.superlinksoftware.com/poi.jsp Custom enhancements and Commercial Implementation for Jakarta POI
http://jakarta.apache.org/poi For Java and Excel, Got POI? The views expressed in this email are those of the author and are almost definitely not shared by the Apache Software Foundation, its board or its general membership. In fact they probably most definitively disagree with everything espoused in the above email. > From: "Height, Jason" <[EMAIL PROTECTED]> > Reply-To: "POI Developers List" <[EMAIL PROTECTED]> > Date: Fri, 23 Jan 2004 07:22:22 +1030 > To: 'POI Developers List' <[EMAIL PROTECTED]> > Subject: RE: Support for Images and charting > > Michael > > Clearly you have a good idea of the way ahead, so why don't you and Kais > start submitting patches based on the work that you have done thus far. > > I too seen the thread that mentioned to hold off, but I think that if some > code starts to drift in then it may start to bring the issue to the front of > everyones minds and we can start to move on this. I have been waiting for > hyperlinks and Comments (which I believe are a form of picture) FOR EVER! > > Thanks > > Jason Height > > > -----Original Message----- > From: Michael Zalewski [mailto:[EMAIL PROTECTED] > Sent: Friday, 23 January 2004 1:24 AM > To: POI Developers List > Subject: RE: Support for Images and charting > > There are actually 3 ways that Excel puts an image into a workbook. > > The first is the old way, used by Excel v 4, but still supported by current > versions of Excel. In this case, images go into a 'DSO' record (I think). > Images done in this way are like any other cell content. This would be the > simplest way to implement image support, and is used by some PERL programs > There is also a patch to JExcelApi (but it's not part of the main > distribution yet) that does the same thing. Images attached in this way have > to be relatively small, and have to be a certain style of bitmap. > > Here is a freshmeat description of Spreadsheet::WriteExcel > http://freshmeat.net/projects/writeexcel/?topic_idf%2C78%2C131%2C809 > "The Spreadsheet::WriteExcel module can be used to create a cross-platform > Excel binary file. Multiple worksheets can be added to a workbook and > formatting can be applied to cells. Text, numbers, formulas, hyperlinks and > images can be written to the cells" > > Here is a link to JExcelApi (on SourceForge) > http://sourceforge.net/projects/jexcelapi/ > > The patch to attach images is in their Yahoo Group > http://groups.yahoo.com/group/JExcelApi/ > Join the group, click on 'Files', then look for jxl_2_3_11_image_patch.zip > > The second way is through the Escher layer. In this case, images are part of > the Unknown Record ec (and eb and ed), which have the names MSODRAWINGGROUP, > MSODRAWING, and MSODRAWINGSELECTION You can read my earlier messages > describing this format at a high level Basically, the images themselves are > stored inside the MSODRAWINGGROUP record. The position and properties such > as borders, background color, grouping with other objects is described in > the MSODRAWING record. And the last selected object is stored in the > MSODRAWINGSELECTION record. There will also be an OBJ record for each image, > which is how Excel comes up with the name 'Picture 1' when the image is > selected. You can read some of my earlier posts > > http://www.mail-archive.com/[EMAIL PROTECTED]/msg03479.html > http://www.mail-archive.com/[EMAIL PROTECTED]/msg03305.html > > I had developed a POI based parser for this, but stopped work when I read > that the committers were going to implement Escher support 'real soon now' > (That was back in October). > > The third way is as an OLE attachment. In this case, the images themselves > go into a separate stream in the OLE Doc file. Images attached in this way > are actually OLE documents, and will have an associated program such as > PaintBrush, PhotoShop or some other graphics editor. The 'image' can even be > a Power Point slide, a page from a Word document, or another Excel > spreadsheet. This second stream is referenced by an OBJECT record > > -----Original Message----- > From: Kais Dukes [mailto:[EMAIL PROTECTED] > Sent: Thursday, January 22, 2004 7:53 AM > To: POI Developers List > Subject: RE: Support for Images and charting > > Glen, > > Thanks for the bar chart records, there very useful. Do you have a similar > dump for images? > > Kind Regards > > -- Kais > > -----Original Message----- > From: Glen Stampoultzis [mailto:[EMAIL PROTECTED] > Sent: 22 January 2004 12:50 > To: POI Developers List > Subject: Re: Support for Images and charting > > > At 04:57 PM 22/01/2004, you wrote: >> I think all things left to do in HSSF are basically easy, but what do I >> know. > > Hrrmm... charting will be a lot of work. The main problem is that there's > very little information available on how charts work. These are the > records for a very "simple" bar chart: > > > [UNKNOWN RECORD:ec] > [UNKNOWN RECORD:5d] > [BOF RECORD] > [HEADER] > [FOOTER] > [HCENTER] > [VCENTER] > [PRINTSETUP] > [UNKNOWN RECORD:33] > [FBI] > [FBI] > [PROTECT] > [UNITS] > [CHART] > [BEGIN] > [SCL] // zoom magnification > [PLOTGROWTH] // font scaling > [FRAME] // border around text > [BEGIN] // default line and area format > [LINEFORMAT] > [AREAFORMAT] > [END] > [SERIES] // start of series > [BEGIN] > [AI] // LINK_TYPE_TITLE_OR_TEXT > [AI] // LINK_TYPE_VALUES > [AI] // LINK_TYPE_CATEGORIES > [AI] // ?? > [DATAFORMAT] // Formatting applies to series? > [BEGIN] // ?? > [UNKNOWN RECORD] > [END] > [SeriesToChartGroup] // Used to support > 1 chart? > [END] > [SHTPROPS] // Some defaults for how chart is displayed. > [DEFAULTTEXT] // Describes the characteristics of the next > // record > [TEXT] // Details of the text that follows in the > // next section > [BEGIN] > [UNKNOWN RECORD] // POS record... looks like I missed this > one. > // docs seem to indicate it's better to use > // defaults... > [FONTX] // index to font record. > [AI] // link to text? seems to be linking to > nothing > [END] > [DEFAULTTEXT] // contains a category type of 3 which is not > // documented (sigh). > [TEXT] // defines position, color etc for text on > chart. > [BEGIN] > [UNKNOWN RECORD] // Another pos record > [FONTX] // font > [AI] // reference type is DIRECT (not sure what > this > // means) > [END] > [AXISUSED] // number of axis on the chart. > [AXISPARENT] // axis size and location > [BEGIN] // beginning of axis details > [UNKNOWN RECORD] // Another pos record. > [AXIS] // Category axis > [BEGIN] > [CATSERRANGE] // defines tick marks and other stuff > [AXCEXT] // unit information > [TICK] // tick formating characteristics > [END] > [AXIS] // Value axis > [BEGIN] > [VALUERANGE] // defines tick marks and other stuff > [TICK] // tick formating characteristics > [AXISLINEFORMAT] // major grid line axis format > [LINEFORMAT] // what do the lines look like? > [END] > [PLOTAREA] // marks that the frame following > belongs > // to the frame. > [FRAME] // border > [BEGIN] > [LINEFORMAT] // border line > [AREAFORMAT] // border area > [END] > [CHARTFORMAT] // marks a chart group > [BEGIN] > [BAR] // indicates a bar chart > [UNKNOWN RECORD] // apparently this record is ignoreable > [LEGEND] // positioning for the legend > [BEGIN] > [UNKNOWN RECORD] // another position record. > [TEXT] // details of the text that follows > // in the next section > [BEGIN] > [UNKNOWN RECORD] // yet another pos record > [AI] // another link (of type direct) > [END] > [END] > [END] > [END] > [END] > [DIMENSIONS] > [SINDEX] > [SINDEX] > [SINDEX] > [EOF] > > > > > > Glen [EMAIL PROTECTED] > http://members.iinet.net.au/~gstamp/glen/ > > > --------------------------------------------------------------------- > 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] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > ------------------------------------------------------------------------------ > -------------------------------------- > This e-mail (including attachments) is confidential information of Australian > Submarine Corporation Pty Limited (ASC). It may also be legally privileged. > Unauthorised use and disclosure is prohibited. ASC is not taken to have > waived confidentiality or privilege if this e-mail was sent to you in error. > If you have received it in error, please notify the sender promptly. While > ASC takes steps to identify and eliminate viruses, it cannot confirm that this > e-mail is free from them. You should scan this e-mail for viruses before it > is used. The statements in this e-mail are those of the sender only, unless > specifically stated to be those of ASC by someone with authority to do so. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
