IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Export resultat requete dans CSV et XLS ?


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut Export resultat requete dans CSV et XLS ?
    Bonjour,

    Je créer une requete SQL ("SELECT * FROM CLIENT") qui me retourne une centaine de ligne. Ce que je voudrais faire c'est exporter le resultat dans un fichier XLS et CSV. Y a t-il une commande qui permet d'exporter les resultats d'une requete?

    Je vous remercie d'avance

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Au format xls :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set feed off 
    set lines 1000
    set pages 0
    set trimspool on
    spool monfichier.xls
    select col1 || chr(9) || col2 || chr(9) || ... || chr(9) || coln
    from maTable;
    spool off
    Au format csv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set feed off
    set lines 1000
    set pages 0
    set trimspool on
    spool monfichier.csv
    select col1 || ';' || ';' || ';' || ... || ';' || coln
    from maTable;
    spool off
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 142
    Points : 170
    Points
    170
    Par défaut
    Utiliser ODBC pour directement faire la requête sous EXCEL.

    Utiliser la commande sqlplus spool pour stocker la sortie sous forme de fichier texte, il faut un autre SQL qui intégre le format CVS (ajout des séparateurs entre les champs)

    Utiliser les packages DBMS_OUTPUT ou UTL_FILE pour créer un fichier de sortie.

    Utilise TOAD ou ORACLE SQL Developer (la liste n'est pas exhaustive) pour faire cet extraction
    DBA ORACLE

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Ca ne marche pas, il m'enregistre dans le fichier xls, la requete elle meme et non le resultat de ma requete

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Ca y est j'arrive à afficher le resultat dans le fichier xls. Le hic c'est que l'affichage n'est pas terrible. Deja il m'affiche la requete, et je ne veux pas qu'il m'affiche la requete , seulement le resultat.
    Ensuite il m'affiche tous les champs sur une seule ligne alors que je prefererais afficher les donnees dans chaque colonne.

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Pour virer la requête ajoute :
    Par contre, cela m'affiche bien chaque champ dans une colonne différente.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT client.LOGIN||fas01.FAS01client.EMAIL||abonnements.CODE_BASE_CYCL || abonnements.REFERENCE codref|| ...................
    J'ai coller les ' || ' à la place des virgules. Malheureuseement cela m'affiche des erreurs

  8. #8
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Voir l'animation suivante : Excel

  9. #9
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 142
    Points : 170
    Points
    170
    Par défaut
    abonnements.CODE_BASE_CYCL || abonnements.REFERENCE codref || ...................

    supprimez codref
    DBA ORACLE

  10. #10
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par wormseric
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT client.LOGIN||fas01.FAS01client.EMAIL||abonnements.CODE_BASE_CYCL || abonnements.REFERENCE codref|| ...................
    J'ai coller les ' || ' à la place des virgules. Malheureuseement cela m'affiche des erreurs
    Si seulement tu faisais ce que je t'ai indiqué, cela fonctionnerait...
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    L'affichage des données s'affiche tres bien dans xls. Il s'affichent bien dans chaque colonne. Le dernier hic, c'est que le titre des colonnes s'affiche mal. Il m'affiche ce qu'il y a entre le SELECT et le FROM c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'Déménagement'||chr(9)||TO_CHAR ad.DATE_HEURE_OPERATION,'DD/MM/YYYY HH24:MI:SS')
    En plus de cela il 'affiche dans la 2ème ligne une ligne pointillé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ------------------------------------------------------------------------------------------------------------------------------------------
    Y a t-il moyen d'enlever cette ligne et d'afficher de maniere plus correcte le titre des donnees.

    Je vous remercie encore pour toutes vos reponses

  12. #12
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Ajoute avant le spool:
    set head off

    et avant ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select titreCol1 || chr(9) || titreCol2 || ... || chr(9) || titreColn
    from dual;
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    cool, merci pour ta commande

    Je voulais savoir si il est aussi possible de rajouter un titre pour chaque colonne ?

  14. #14
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par plaineR
    et avant ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select titreCol1 || chr(9) || titreCol2 || ... || chr(9) || titreColn
    from dual;
    C'est ce qu'est censé faire cette requête : remplace titreCol1 par le titre de ta colonne 1, titreCol2 par le titre de ta colonne 2 et ainsi de suite.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Ok, c'est cool ca marche nikel , merci de m'avoir aider à resoudre mon pb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exporter resultat requete en csv ou pdf
    Par steph70 dans le forum Langage
    Réponses: 1
    Dernier message: 08/11/2012, 13h32
  2. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  3. Resultat requete dans un memo ??
    Par EssaiEncore dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/01/2006, 15h53
  4. Resultat requete dans zone de texte
    Par htaM dans le forum Access
    Réponses: 5
    Dernier message: 29/09/2005, 14h43
  5. Resultat requete dans une seule colonne
    Par mathieu--g dans le forum Sybase
    Réponses: 2
    Dernier message: 08/07/2003, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo