Jean-Pierre, Could you send me a spreadsheet with the records that you've mentioned? I created a spreadsheet with a command button, attached VBA code to it and saved it with Excel 2002 (10.3506.35.01) SP-1. I don't see these records.
Also, you should try the latest version of POI. My patch for classID issue in POIFS has been accepted [see Bug 22195]. Now embedded OLE objects should be transferred correctly. I would also recommend ExcelWriter product that is available for both Java and COM/.NET platforms (www.SoftArtisans.com/ExcelWriter). From the description that you gave it should suite your needs. With best regards, Kirill/Kim Jacobson -----Original Message----- From: Jean-Pierre Paris [mailto:[EMAIL PROTECTED] Sent: Friday, November 07, 2003 2:48 AM To: POI Developers List Subject: More documents and records decoded [was: RC1 Testing] Hello! Here is a rapid sketch of my goal and of the state of my work as asked by Avik. I started to work on poi 1.5.1: my goal is to have an xls template, add some data in it (say several sheets) and write the xls result. Unfortunatly, in some case I must include VBA code in the xls template, and my test cases fail with 1.5.1. As it is mandatory for me to cope with VBA, I downloaded 1.5.1 src and started to dig into. First, I have adapted BiffViewer so that it print information for all Documents found in the xls file (that is for example Ctls, ?CompObj, ?SummaryInformation, ?DocumentSummaryInformation, Workbook, and for VBA the following rirectory structure VBA_PROJECT_CUR PROJECT PROJECTwm VBA __SRP_1 __SRP_3 __SRP_2 __SRP_0 _VBA_PROJECT ThisWorkbook Feuil1 dir) For Document with unknown structure, I dump hex values flow using HexDump. After, that I have decoded the structure of some Document or records, but I only used them in the BiffViewer context (I have not used or tested the serialize method): 1. Ctls Document. classical record format: sid (16), len (16), value... I wrote the following records, without any interpretation of the content. For me it is just a byte flow, but it could be a good start for someone who wants to figure out the semantic of each byte. ComboBoxRecord (0x1D30 CommandButtonRecord (0x3240) CtlXtraRecord (0x200): already extists in Workbook (Dimension), but seems not to be relaoted to ListBoxRecord (0x1D20) 2. Workbook. No need to elaborate about the structure! I added those records, but as sayd previously, I can't figure out the semantic, those are only bytes flows. ControlsRecord (0xEB), ControlsXtraRecord (0xEC) Both records contains hierarchical records that mimic the classical format but in 32 bits: sid is stored in 4 bytes as length does. I have coded 2 records, one for intermediate nodes and one for terminal ones. ControlsInfoRecord (0x5D) This record contains a set of record in the classical 16 bits format. I handled those records as UnknownRecord 3. VBA_PROJECT_CUR.PROJECT. This document contains a set of Dos strings (8 bits 0x0D 0x0A terminated). I coded the DosLineRecord, but have no clue about the actual content 4. VBA_PROJECT_CUR.PROJECTwm. This document contains a set of null terminated utf8 or utf16 strings. I coded the String8 and String16. I have developped all that code OUTSIDE the poi tree and without unit tests and javadocs. What I have to do before I can publish that for the community is: 1. Integrate in the poi src tree, and by the way understand how to use Ant as I use make for the moment! Check for compatibility with RC1 my code is based on 1.5.1 2. Add JUnit tests. To do that, I have some questions: for example, what is the definition of getRecordSize return value. I suppose I'll find the answer if I dig into the record test cases 3. Write down some javadocs As it is a work I don't like a lot ;-), I'm willing to do that only if it is usefull to someone around there. As asked by Avik, I'm also ready to "stay" in the project as a contributor. I have several ideas of what I can contribute, but that's another story... Hope this help to undestand what I have done (apologies for my English, which IMHO is not quite as good as I wanted!) Regards and again, thanks to all for making poi/hssf working! bye jp -- Jean-Pierre Paris - Waidan, 300 route des cr�tes, 06902 Sophia Antipolis Tel: (+33)4 93 00 60 43, Fax (+33)4 93 00 60 46 --------------------------------------------------------------------- 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]
