Skip to main content  
        iSeries home   |   Easy400     |   CGIDEV2     |   MMAIL  
Public-Source
 
 Introduzione
 
XLSCONVERT
XLSTABLE
XLSTABLE2
Alcuni programmi CGI
 
 PDF di questo manuale
 
 Scarica questo tool
 
 

 
XLPARSE2  January 4, 2018 release
Usa l'RPG per leggere un foglio di lavoro Excel
di Giovanni B. Perotti (Italia)

XLPARSE2 si basa sul service program XLPARSER4 (Marzo 2010) di Scott Klement, su POI 3.6 ad altri suppporti Java, che sono tutti inclusi in questo strumento.
XLPARSE2 supporta:

  • fogli XLS generati da MS Excel 2003 o da suoi rilasci successivi, O365 compreso
  • folgli XLSX generati da MS Excel 2007 o da suoi rilasci successivi, O365 compreso
1- Che cos'è   3- Installazione
2- Prerequisiti   4- Un consiglio importante

1- Che cos'è

XLPARSER4 - grande strumento sviluppato da Scott Klement - è un set di procedure per leggere fogli Excel XLS s XLSX tramite RPG e Java. Nel suo strumento, Scott ha incluso delle classi Java che a loro volta fanno riferimento ad altre classi Java denominate Jakarta POI e che l'utente dovrebbe installare da sè.

  • Il Progetto Jakarta crea e mantiene software open-source per la piattaforma Java. Esso funziona come progetto ombrello sotto gli auspici della Apache Software Foundation.
  • POI (una trasposizione in Java di popolari formati file Microsoft) è uno di questi progetti e faceva inizialmente parte di Jakarta, ma ora è diventato un progetto indipendente nell'ambito della Apache Software Foundation.
Scott ha anche fornito alcuni esempi di programmi RPG per poter stampare specifici fogli Excel XLS/XLSX.

Io volevo qualcosa di più.
Io volevo uno strumento che convertisse in file database qualunque foglio Excel XLS o XLSX in modo tale che un normale programma potesse poi elaborare i dati ricavati dal foglio Excel.

Il risultato di ciò è stata una libreria, di nome XLPARSE2, la quale contiene

  • Una procedura di installazione che si cura di installare le classi Java (quelle del PO, quelle di Scott, più altre) necessarie al service program XLPARSER4 di Scott, ai suoi programmi d'esempio, e di installare del mio codice.
    Questa procedura di installazione opera "sotto coperta" e non richiede alcuna decisione da parte dell'installatore.
  • Un comando - XLSCONVERT - che converte qualunque foglio Excel di tipo XLS o XLSX in un file fisico nella libreria QTEMP, file che è possibile elaborare con la mia procedura XLSGETCELL.
  • Un comando - XLSTABLE - che converte qualunque foglio Excel XLS o XLSX in un database fisico che si può poi facilmente leggere con programmi dell'utente.

In queste pagine si spiega come installare e come utilizzare questo mio strumento.

Si utilizzi questo link per leggere alcuni articoli di Scott che io ho riportato nelle mie pagine.

Manutenzione - Come ogni altra utility di Easy400.net , XLPARSE2 viene aggiornato a seconda delle necessità che si possono presentare (correzioni, nuovi dispositivi, ecc.). Per sapere se c'è un nuovo rilascio e che cosa esso contiene di nuovo, si prega di riferirsi alla pagina di manutenzione.

2-Prerequisiti

  • OS/440 rilascio V5R3 o successivo
  • Compilatore ILE RPG IV, prodotto 57xxWDS, opzione. 31
    Il compilatore è necessario non solo per la installazione, ma anche per poter eseguire il comando XLSTABLE.
  • (facoltativa) Libreria CGIDEV2 (service program CGIDEV2/CGISRVPGM2) scaricata dal sito www.easy400.net.
    Con CGIDEV2 è possibile eseguire alcuni esempi di programmi CGI per XLPARSE2.
  • Developer Kit for Java, prodotto 57xxJV1, *base
  • Se si ha OS/400 rilascio V5R3:
    • Prodotto 57xxJV1, opzione 6 -
      Java Developer Kit Classic 4.0 (java version 1.4).
    • Su V5R3 si possono elaborare solo i fogli XLS. I fogli XLSX richiedono almeno il rilascio V5R4.
  • Se si ha il rilascio V5R4 o un successivo:
    • Prodotto 57xxJV1, opz. 7 -
      Java Developer Kit Classic 5.0 (java version 1.5).
      Questo componente è disponibile da V5R4 in avanti.
      Nei rilasci successivi a V5R4 sono disponibili ulteriori versioni di JDK (Java Developer Kit).
      Per ulteriori informazioni sulle opzioni di 57xxJV1 per i vari rilasci di OS, si veda questa pagina.
  • Avvertimento riguardante 57xxJv1 - Assicurarsi di avere installato l'ultimo cumulativo di PTF per il 57xxJV1 !!!

3-Installazione

  1. Scaricare il file xlparse2.zip dalla pagina di scarico di Easy400 e farne l'unzip.
  2. Seguire le istruzioni del file xlparse2.txt relative all'upload ed al ripristino della libreria XLPARSE2
  3. Sull'IBMi, collegarsi con un profilo utente di classe *SECOFR ed eseguire la procedura seguente:
    STRREXPRC SRCMBR(INSTALL) SRCFILE(XLPARSE2/QREXSRC)
    Il comando STRREXPRC fa quanto segue:
    • crea il service program GPPARSER4 (procedure per supportare il comando XLSCONVERT)
    • crea il service program XLPARSER4 (parsing Excel spreadsheet procedures) di Scott Klement
    • crea i programmi di esempio di Scott
    • crea i programmi di utilità XLSCONVERT e XLSTABLE
    • crea la libreria XLPARSE2DTA e la popola di file che verrano a contenere i dati locali
    • ripristina l'indirizzario IFS /xlparse2.
      Si noti come il sotto indirizzario /xlparse2/java contenga tutte le classi Java (POI, Scott Klement, ecc.) necessarie per far funzionare questa utility.
    • Se è disponibile la libreria CGIDEV2, visualizza le direttive dell'istanza HTTP XLPARSE2 (i commenti iniziali delle direttiva spiegano come creare questa istanza HTTP), altrimenti
      visualizza le direttive HTTP che si possono aggiungere ad una istanza HTTP locale per poter visualizzare questo manuale che state leggendo.
  4. Rimuovere da /QIBM/UserData/Java400/ext tutti gli oggetti della famiglia POI e tutti quelli della famiglia XLPARSE. La presenza di tali oggetti in questo indirizzario è un modo sbagliato di operare e non va più utilizzato. Leggi le raccomandazionio di Scott Klement!
    Effettuare i controlli seguenti:
    1. Una volta installato XLPARSE2, immetter il comando WRKLNK '/xlparse2/java/*'
      e prendere nota di tutti i sottoindirizzari.
    2. Successivament eseguire il comando WRKLNK '/QIBM/UserData/Java400/ext'
      e sincerarsi che non esistano simili sottoindirizzari in /QIBM/UserData/Java400/ext.
  5. Da ultimo, per validare la installazione, si esegua il comando seguente:
    XLPARSE2/XLSCONVERT
    La prima volta che lo si esegue, potrebbe presentarsi uno schermo simile a questo .. Non di faccia nulla, ... si attenda ...
    La volta successiva in cui si userà il comando XLSCONVERT, tutto sarà molto più rapido.
    Nota - Se il comando XLPARSE2/XLSCONVERT fallisce con messaggio di errore
    Error occurred while parsing spreadsheet after cell (0,0) in *Unknown* , il motivo potrebbe essere uno di questi:
    • L'indirizzario /QIBM/UserData/Java400/ext contiene ancora degli oggetti della famiglia XLPARSE o della famiglia POI
    • Mancano felle PTF per il prodotto 57xxJV1. Installare l'ultimo cumulativo di PTF per il prodotto 57xxJV1.
  6. Nota importante Se questa utility è installata su di una macchina V5R3, allorchè la macchina venisse portata ad un rilascio successivo, è necessario eseguire il comando xlparse2/compile .
  • Re-installazione di XLPARSE2 su di un'altra macchina

    Per re-installare XLPARSE2 da una macchina source ad una macchina target, procedere in questo modo:
      • Se si pianifica di eseguire il comando XLSTABLE,
        assicurasi che la mcchina "target" abbai il compilatore ILE RPG 57xxWDS, opzione. 31
      • Se invece si pianifica di utilizzare il comando XLSTABLE2, il sistema "target" non ha bisogno che vi sia installato il compilatore ILE-RPG.
    • Se la macchina "target" ha un rilascio VxRyMz inferiore a quello della macchina "source", ed il sistema source supporta ancora questo rilascio precedente, sul sistema "source" occorre ricompilare i programmi XLPARSE2 con il comando
      STRREXPRC SRCMBR(INSTALL) SRCFILE(XLPARSE2/QREXSRC) PARM(VxRyMz)
    • Sul sistema "source" savlare la libreria XLPARSE2 (se necessario, specificare il parametro TGTRLS)
    • Sul sistema "target", rimuovere da /QIBM/UserData/Java400/ext tutti gli oggetti della famiglia POI e tutti gli oggetti della famiglia XLPARSE
    • Sul sistema "target", ripristinare la libreria XLPARSE2
    • Sul sistema "target", eseguire il comando xlparse2/install.

4- Un consiglio importante

Perchè questa utility funzioni correttamente, è indispensabile che la libreria XLPARSE2 si trovi nell'elenco delle librerie del lavoro prima che venga fatta partire la Java Virtual Machine (JVM).
Assicurasi pertanto di immettere il comando ADDLIBLE XLPARSE2 non appena il lavoro è stato avviato.