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 :

Utiliser un fichier Excel pour exporter/importer des données, contrôler leur validité.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut Utiliser un fichier Excel pour exporter/importer des données, contrôler leur validité.
    Bonjour,
    Je travail sur un site intranet de gestion des examens ,j'ai permet aux professeurs de télécharger le fichier excel pour le peupler avec des notes.
    Après je me suis bloquée comment récupérer ces fichiers ?et comment autoriser que les chiffres entre 0 et 20 dans le fichier excel ?ya t'il d'autres contraintes à prendre en compte?Si quelqu'un a déjà travailler sur ce genre de problème merci de me donner toutes les informations.
    Merci.

  2. #2
    Expert confirmé
    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
    Par défaut
    Salut,
    Citation Envoyé par pseudo88 Voir le message
    comment récupérer ces fichiers ?
    Que veux-tu dire? Tu ne les garde pas j'imagine. Tu les génère à la volée.
    Citation Envoyé par pseudo88 Voir le message
    comment autoriser que les chiffres entre 0 et 20 dans le fichier excel ?
    Si tu t'en sert comme moyen de saisir des données, il faut que tu fasses les vérifications nécessaires à la lecture du fichier.

    Donne nous plus d'informations sur le fonctionnement de ton application.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonjour,
    Voilà au lieu d'utiliser la gridview pour insérer des notes (j'ai des centaines d'étudiants) j'ai pensé utilisé l'excel :
    1) permettre aux responsables de chaque module après authentification de télécharger le fichier excel (contenant les étudiants inscrits dans le module donné),ce dernier est généré par le code suivant:
    Num_inscription--------note_matière1----note_matière2
    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");
           }
     
    }
     
     
     
    }
    Mais dans ce code je sais pas comment :
    • ajouter la condition :les notes sont comprises entre 0 et 20.

    • calculer la moyenne de ce module qui est :sum(note*coeff)/sum(coeff)

    2)Permettant aux responsable de module de m'envoyer le fichier contenant ces données ( mais là je sais pas comment)
    3)Exploiter les données ,,en les envoyant vers la base de données pour calculer les moyennes .
    Voilà s'il ya mieu que sa merci de me guider je me sens perturbée ,et j'ai beaucoup besoin d'aide .
    Merci.

  4. #4
    Expert confirmé
    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
    Par défaut
    J'ai travaillé sur un sujet similaire. Pour y arriver, je te conseille de
    1. Créer un objet métier permettant d'insérer des données (une série de notes) dans ta base. Un truc du genre:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      public class Rating
      {
          public int RatingId { get; set; }
          public string StudentFullName { get; set; }
          public DateTime RatingDate { get; set; }
          public int RatingValue { get; set; }
      }
    2. Serializer une liste de cet objet au format XML
    3. L'envoyer à l'internaute
    4. Lui faire ouvrir avec Excel
    5. Le laisser modifier les valeurs
    6. Lui demander de le télécharger sur le serveur
    7. Le déserializer en une liste d'objet
    8. Mettre à jour ta base de données en fonction de cette liste
    Une petite recherche sur le forum et les tutos devraient beaucoup t'aider (http://philippe.developpez.com/artic...erexcelaspnet/).
    Rappelle-toi que Excel est facile à utiliser quand les données sont au format tabulaire (en ligne et en colonnes). Pour quelque chose de plus complexe, tu peux définir des plages aller chercher dans des cellules spécifiques...

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Merci Immobilis;
    Je vais me documenter sur chaque points étant tous nouveaux pour moi
    et je suis sur que je vais encore avoir besoin de votre aide.
    Merci

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonsoir,
    Je me plante dés le premier pas ,j'ai pas réusi à touver une documentation sur les objets métierq,j'ai pas de chance avec google.

Discussions similaires

  1. [XL-2010] Requête Excel pour l'extraction des données à partir des autre fichiers Excel
    Par jihed saidaoui dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/03/2015, 09h23
  2. Utiliser un fichier EXCEL pour modifier une bdd
    Par seraphon91 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/06/2014, 17h23
  3. utilisation de fichiers excel pour générer des rapports
    Par infoest dans le forum kettle/PDI
    Réponses: 1
    Dernier message: 01/07/2013, 13h52
  4. Comment utiliser un fichier Excel pour remplir un ComboBox
    Par Heureux-oli dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/08/2007, 14h39
  5. [3D] Export/Import des données graphics
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 13
    Dernier message: 03/02/2006, 16h49

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