Salut, voici mon problème : j'essaie d'extraire un rapport développé sous Oracle et qui s'affiche correctement sur le web, vers un fichier excel avec ces trois commandes
htp.init;
owa_util.mime_header('application/vnd.ms-excel');
owa_util.http_header_close;
mon fichier s'ouvre parfaitement, mais le problème est que pour certains paramètre de ma clause "WHERE" de mon code sql, les données ne sont pas exportés correctement dans le fichier excel. Je m'explique; dans la clause "WHERE" du SELECT de mon curseur, j'ai 2 paramètres qui apparemment sont en conflits puisque les résultats sont affichés dans une seule même colonne dans excel; tandis que lorsque seul un de ces paramètres est utilisé, j'obtiens un affichage correct dans différentes colonnes dans le fichier Excel...
Voici le code de ma procédure:
CURSOR C_DETAIL_INFO IS
SELECT
NOM || ', ' || PRENOM || tab ||
CREDITS_REQUIS_PROG || tab ||
CREDITS_OBTENUS || tab ||
MOY_EN_VUE_DU_PROG
FROM SZRTFIN
WHERE
SZRTFIN.DATE_DIPLOME = TO_DATE( '15-FEV-2015' , 'DD-MON-YYYY' ) AND
SZRTFIN.PROGRAMME = 'Administration'
GROUP BY NOM || ', ' || PRENOM || tab ||
CREDITS_REQUIS_PROG || tab ||
CREDITS_OBTENUS || tab ||
MOY_EN_VUE_DU_PROG;
CURSOR_LINE VARCHAR2(255);
BEGIN
/* Ouverture du fichier Excel */
htp.init;
owa_util.mime_header('application/vnd.ms-excel');
owa_util.http_header_close;
/* Affichage des détails*/
OPEN C_DETAIL_INFO;
htp.print('NOM_COMPLET' || tab || 'MIN/CONC' || tab || 'REQ' || tab || 'OBT' || tab || 'MOY');
htp.print;
LOOP
htp.print(CURSOR_LINE) /*DÉTAILS */
FETCH C_DETAIL_INFO INTO CURSOR_LINE;
EXIT WHEN C_DETAIL_INFO % notfound;
END LOOP;
CLOSE C_DETAIL_INFO;
Copyright © 2024 1QUIZZ.COM - All rights reserved.
Answers & Comments
Verified answer
Je comprends rien à ton truc, les noms que tu utilises dans la procédure htp.print ne correspondent pas à la définition du curseur C_DETAIL_INFO plus haut, tu as oublié de nous donner la déclaration du curseur, il me semble.
Et comme le dit le matou, on n'a pas de description exacte du problème, quelles sont les colonnes en conflit dans ta clause where ? En plus dans ton select, tu concatènes toutes les colonnes pour en faire une seule, je suis étonné que sous Excel il puisse en remplir plusieurs...
On a le code de ta procédure pas tes jeux d'essai d'affichage, de plus ton probléme est pas expliqué du tout clairement et on ne voit pas du dans quel cas le probléme se pose. Quel paramétre, quel affichage?
pour ce genre de problème soumet au forum oracle sous developpez. L'inscription est gratuite. Tu auras des dba qui ont peut être une réponse
c'est peut être juste un mauvais formatage dans ton extraction
Formule surtout ta question de maniére claire en mettant des jeux d'essais pour que les gens comprennent ce que tu as comme difficultés.
De plus ton code est en plus a moitié coupé et de plus SZRTFIN comme nom c'est illisible, respecter un peu plus les conventions de nommage...