Bonjour
Quand je suis sur pl/sql developper que j execute une requete
, le resultat s'affiche sur la grille propre à pl/sql developper, puis clik droit de cette grille je fais un select all puis un "copie to excel " , excel
se lance et affiche le bon formatage de mes données que ce soit des
chaines de caracteres , number ou Date . ( un indicateur vert est ajouté sur la feuille excel)

- si je le fais par programme mes numbers ou date , excel gere son format automatique et me change tout.

- J'aimerez avoir la programmation exacte comme sous pl/sql via le copie to excel. (si je mets CHR(160) ca marche mais ca me plait pas trop )

- Connaissez vous une astuce que lorsque on programme un fichier
pl/sql au format excel , excel nous change pas le formatage

merci



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
PROCEDURE SO_P_SE (PI_D_PDATEFF IN DATE ,L_VA_EMPLACEMENT IN VARCHAR2,L_VA_NOMFICHIER IN VARCHAR2 ) IS
 
      L_VA_NUM_CONTRAT                 VARCHAR2(20);
      L_D_DATE_ADHESION                VARCHAR2(10);
 
      FILE_HANDLE_DETAIL               UTL_FILE.FILE_TYPE ;
      L_VA_LIGNEFICHIER                VARCHAR2(2000);
      L_C_TAB                          CHAR(1);  
      L_VA_CHEM                        VARCHAR2(50);
 
      CURSOR  PCUROUT IS 
 
 
      SELECT
 
      CHR(160) || A.ADHE_INTERNE                        AS NUM_CONTRAT;
 
BEGIN
 
     FILE_HANDLE_DETAIL := UTL_FILE.FOPEN( L_VA_CHEM , L_VA_NOMFICHIER, 'W') ; -- CREATION FICHIER EXCEL EN SORTIE 
 
     L_C_TAB :=CHR(9); 
 
 
     OPEN PCUROUT;
 
      LOOP
           FETCH PCUROUT INTO 
                  L_VA_NUM_CONTRAT ;
 
 
             EXIT WHEN PCUROUT %NOTFOUND ;
 
                  L_VA_LIGNEFICHIER:= L_VA_NUM_CONTRAT ;
 
 
                  UTL_FILE.PUT_LINE(FILE_HANDLE_DETAIL,L_VA_LIGNEFICHIER);
      END LOOP ;
      UTL_FILE.FFLUSH(FILE_HANDLE_DETAIL); 
      UTL_FILE.FCLOSE(FILE_HANDLE_DETAIL);