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

ASP.NET Discussion :

Exporter des données de sql server vers excel avec une requête complexe.


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut Exporter des données de sql server vers excel avec une requête complexe.
    Bonjour,
    je travail sur un site intranet de gestion de scolarité .
    Je galère toujours avec la partie gestion des examen ,on ma conseillé dans ce forum de travailler avec excel et je galère la dessus depuis.
    voilà ce que je veux faire:
    J'ai une listbox contenant les modules enseignés par semestre ,pour avoir la liste des étudiants inscrits dans un module ,le responsable de ce dernier doit remplir un formulaire d'authentification .
    Je veux que après authentification le fichier excel contenant les étudiants s'ouvre pour le responsable (je sais pas si c'est la bonne méthode ,vous remarques seront les bienvenues )
    pour exporter les données de sqlserver vers excel j'ai utilisé ce code :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     cn.Open();
           SqlDataAdapter da = new SqlDataAdapter(@"DECLARE @MATIERE nvarchar(max)
    SELECT @MATIERE =
      STUFF(
      (
      select distinct ',[' + LIBELLE_MATIERE + ']'
      from MATIERE where CODE_MODULE =11
      for xml path('')
     ),
     1,1,'')
     
    DECLARE @SQL nvarchar(max)
    SELECT @SQL = N'
    select
     *
    from (
     
      SELECT     ETUDIANT.NUM_INSCRIPTION, ETUDIANT.NOM_PRENOM_ETUDIANT_ARABE,EXAMEN.CODE, 
     EXAMEN.NOTE, 
                         MATIERE.LIBELLE_MATIERE
    FROM         ETUDIANT INNER JOIN
                          EXAMEN ON ETUDIANT.NUM_INSCRIPTION = EXAMEN.NUM_INSCRIPTION INNER JOIN
                          CAPITALISE_MODULE ON 
                          ETUDIANT.NUM_INSCRIPTION = CAPITALISE_MODULE.NUM_INSCRIPTION INNER JOIN
                          MATIERE ON EXAMEN.CODE_MATIERE = MATIERE.CODE_MATIERE INNER JOIN
                          MODULE ON CAPITALISE_MODULE.CODE_MODULE = MODULE.CODE_MODULE 
                          AND MATIERE.CODE_MODULE = MODULE.CODE_MODULE
    WHERE      (CAPITALISE_MODULE.CODE_MODULE = 11) AND 
                          (CAPITALISE_MODULE.CODE_TYPE_RELATION_MODULE = 1)
    ) Data
    PIVOT (
     SUM(NOTE)
     FOR LIBELLE_MATIERE
     IN (
      ' + @MATIERE + '
     )
    ) PivotTable
    '
     
    exec sp_executesql @SQL
     
    ", cn);
           DataTable dt = new DataTable();
           da.Fill(dt);
           cn.Close();
     
           Response.Clear();
           Response.ContentType = "application/vnd.ms-excel";
           string sep = "";
           foreach (DataColumn dc in dt.Columns)
           {
                  Response.Write(sep + dc.ColumnName);
                  sep = "\t";
           }
           Response.Write("\n");
     
           int i;
           foreach (DataRow dr in dt.Rows)
           {
                  sep = "";
                  for (i = 0; i < dt.Columns.Count; i++)
                  {
                         Response.Write(sep + dr[i].ToString());
                         sep = "\t";
                  }
                  Response.Write("\n");
           }
     
    }
     
     
     
    }
    ce code marche avec des requêtes sql simple mais avec cette requête sa donne un fichier excel vide(j'ai essayé cette requête a part et elle est correcte).
    Dois je passer par gridview puis l'utilisateur clique sur un bouton pour l'exporter vers excel?
    S'il ya une personne qui a déjà travailler sur telle projet merci de me conseiller ,j'avoue que je suis perturbée .

    Merci infiniment.
    ?

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506

  3. #3
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut
    Salut,
    Pour le lien d'excel c'est pour générer excel sans passer par la base des données ,non?
    Merci

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    La source de données n'a pas vraiment d'importance. Ça marche avec toutes.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut
    Merci Immobilis,
    En fin ça marche ,mais avec les données en arabe écrites bizarrement .
    Immobilis ,là je génère un fichier au serveur donc il me faut permettre aux responsable de télécharger ce fichier.Ya pas une méthode pour qu'ils le télécharge sans passer du serveur ?
    Merci

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par pseudo88 Voir le message
    mais avec les données en arabe écrites bizarrement.
    Il faut correctement choisir l'encodage du fichier et la table de caractères (charset).
    Citation Envoyé par pseudo88 Voir le message
    Ya pas une méthode pour qu'ils le télécharge sans passer du serveur ?
    Ben le fichier est sur le serveur donc tu es obligé de passer par son intermédiaire. Ou bien tu l'envois par email.

    A+

  7. #7
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut
    Merci de m'avoir supporter Immobilis,
    Je comprends pas :
    tu es obligé de passer par son intermédiaire

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Juste le fait que le fichier se trouve sur le serveur, donc tu ne peux pas te passer de son intervention (intermédiaire) pour que ton utilisateur reçoive le fichier.

Discussions similaires

  1. Importer des données de sql server dans un fichier excel
    Par sab_info dans le forum Développement
    Réponses: 2
    Dernier message: 30/01/2013, 09h45
  2. Exporter des données de SQL vers CSV
    Par othmane16 dans le forum SQL
    Réponses: 4
    Dernier message: 14/05/2012, 15h00
  3. Export des nvarchar de sql server vers Access
    Par matlatomat dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/08/2010, 18h47
  4. base de donnée sql server vers excel
    Par yucf_miagiste dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2007, 12h38
  5. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22

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