XLXML, the RPG SSML 

page d'accueil
Boite à outils

Cette page a été mise à jour le14 septembre 2009
Contact

Welcome page
Tools box

Versionning 

last version : How to upload to my 400

CHGPFM FILE(jpltools) MBR(XLXML3 ) SRCTYPE(CLLE ) EXPDATE(*NONE) SHARE(*NO) TEXT('Test creation feuille excel ') 
CHGPFM FILE(jpltools) MBR(XLXML3R ) SRCTYPE(SQLRPGLE ) EXPDATE(*NONE) SHARE(*NO) TEXT('Démo : créer un fichier Excel 2003 ')
CHGPFM FILE(jpltools) MBR(XMLDBUK ) SRCTYPE(SQLRPGLE ) EXPDATE(*NONE) SHARE(*NO) TEXT('code to create XMLDBU file with SQL ')
CRTCLMOD MODULE(XLXML3) SRCFILE(JPLTOOLS) TGTRLS(V5R3M0) DBGVIEW(*ALL) ENBPFRCOL(*FULL)
CRTPGM PGM(XLXML3) BNDDIR(QC2LE JPLTOOLS) ACTGRP(JPLTOOLS) TGTRLS(V5R3M0)
EXECSQL3 FILE(JPLTOOLS) MEMBER(XMLDBUQ)
If you don't want to use EXECSQL3, you can instead run the SQL statement manually.
CRTSQLRPGI OBJ(XLXML3R) SRCFILE(JPLTOOLS) OBJTYPE(*MODULE) OPTION(*NOSEQSRC *XREF *SECLVL) TGTRLS(V5R3M0) DBGVIEW(*SOURCE)
CRTPGM PGM(XLXML3R) BNDDIR(QC2LE JPLTOOLS) ACTGRP(JPLTOOLS) TGTRLS(V5R3M0)

XLXML is a partial RPG implementation of SpreadSheet XML version 2003. And SpreadSheet XML2003 is a Microsoft partial implementation of recording an XLS file. For example, SSML2003 don't record the graphs. 

So, before starting to code an SSML file in RPG, you may do the job with Excel one time handly, then record the file as an XML file, close Excel, reopen the file with excel and see what come back and what not.

MS Office 2003 XSD files are in XSDREF.MSI and can be found at http://www.microsoft.comthen search for XSDREF.MSI

Today's RPG code is already able to produce this kind of file :

original file generated with RPG, needs Office 11 : XLXML3.XLS

the same file, converted for office 10 :XLXML3_10.XLS

the same file, converted for office 95 : XLXML3_9.xls

The code is today not easy to master (very sensitive to misuse, and not easy to debug). I'm working on making it more efficient.

I recommand you always start from last version of provided sample (XLXML3R) and use the procedures in the same order. The sample covers (commented or not) the whole implemented procedures. 

As explained in the code, you normaly never will use low level procedures. 

It you ever use merged cells, have in mind that there is a side effet that can be hard to solve : xlxml3 is able to reload a cell : you can start loading a cell with some data then need to change them. On the other hand, when you merge cells, the merged cells (but the first) "disapears" from excel's cells list. Example : you have merged on a row the cells at column 5 to 7 with the data "Title". After merging, the next cell of cell 5 is cell 8. If there is something loaded at cells 6 or 7 (before or after the merging), xlxml don't see the mistake, and you will have an ugly message from excel.

if you got this message: the file you are trying to open is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file.

excel 2007 message at open

you are using excel 2007. To avoid this message, instead of .XLS, rename your files *.XML

The source code is provided as an open source tool under the GNU General Public License, version 2.  In summary, this license specifies:

By clicking the download link you acknowledge and agree to the terms of the license.

Download the (zipped) SAVF containing the JPLTOOLS : the source file, the message file, the bnddir

THIS TOOLBOX IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PROVIDER OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS TOOLBOX, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.