Créer fichier excel via un batch

Résolu
ptisephy Messages postés 78 Statut Membre -  
ptisephy Messages postés 78 Statut Membre -
Bonjour,
je suis face à un petit soucis je dois créer un fichier excel , à partir d'un script batch, dans lequel se trouve une requete sql , là aucun problème, seulement je m'inspire d'un fichier existant mais j'ai du mal à le comprendre :

.....
column indentifiant format a8
column libelle format a1
column RUE format a4
......
select 'Information'||to_char(sysdate-1,'yyyy_mm_dd_HH')||'.csv' date1 from dual; //la ok
set termout on
spool "D:\dossier1\dossier2\&date1"
.....
.....
select identifiant, libelle , rue from ....
spool of
exit;

à quoi correspond le format a8,a1 ou a4 ? je suppose que c'est le formatage de la cellule dans le fichier excel crée?
Y a t-il des sites qui explique ce genre de chose, car pas facile de trouver .

J'ai bien saisie qu'il créer un fichier dans l'emplacement définie , par contre quand je l'ouvre à la fin de la génération, tout est n'importe comment, au lieu d'avoir des colonnes les une à la suite des autres j'ai du genre :
identifiant
libelle
rue
....
885454
libelleMachin

Bref je n'ai pas de colonne mais c'est sur une ligne , comment ça se fait ?
Un grand merci à vous

1 réponse

  1. ptisephy Messages postés 78 Statut Membre
     


    voici un exemple de mon fichier batch


    set echo off
    set newp none
    set termout off
    set feedb off
    set head on
    set heads on
    set underline off
    SET VERIFY OFF
    set pages 10000
    set lines 100
    set pagesize 20000
    set long 200
    set colsep ";"
    define date1=foo
    column date1 new_value date1
    column identifiant format a8
    column libelle format a8
    column rue format a8
    alter session set NLS_NUMERIC_CHARACTERS=',.';
    select 'monfichierExcel_'||to_char(sysdate-1,'yyyy_mm_dd_HH')||'.csv' date1 from dual;
    set termout on
    spool "D:\dossier1\dossier2\&date1"
    select tid.identifiant as identifiant,
    libelle_court as libelle,
    t1.rue as cleMat
    from AISX_table1 t1
    inner join aisx_person_ent t3 on t3.x520_idx510=t1.x503_idx510
    inner join .......
    left outer ............ and .......
    where .......
    and ........ order by identifiant;

    spool off



    puis mon fichier excel il ressemble à rien il est s'en dessus dessous , bizarement comment ça se fait , merci !
    0