Menu

Créer fichier excel via un batch [Résolu]

ptisephy 31 Messages postés jeudi 4 décembre 2008Date d'inscription 19 juin 2018 Dernière intervention - 8 mars 2018 à 10:04 - Dernière réponse : ptisephy 31 Messages postés jeudi 4 décembre 2008Date d'inscription 19 juin 2018 Dernière intervention
- 8 mars 2018 à 10:55
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

Afficher la suite 

Votre réponse

1 réponse

ptisephy 31 Messages postés jeudi 4 décembre 2008Date d'inscription 19 juin 2018 Dernière intervention - 8 mars 2018 à 10:55
0
Merci


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 !
Commenter la réponse de ptisephy