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 :

[C#] Boîte de dialogue "Enregistrer sous"


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut [C#] Boîte de dialogue "Enregistrer sous"
    Bonjour !

    Je cherche à ouvrir une boîte de dialogue "Enregistrer sous" dans mon code, mais je n'y parviens pas...

    Pour l'instant, j'ai ceci :

    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
    private void btnExp_Click(object sender, EventArgs e)
    {
    	SqlConnection conn = new SqlConnection();
    	conn.ConnectionString = // ma chaine
    	conn.Open();
     
    	SqlCommand oCommand = new SqlCommand("SELECT * FROM ListeTP", conn);
     
    	SqlDataAdapter da = new SqlDataAdapter(oCommand);
     
    	DataSet ds = new DataSet("MonDS");
    	da.Fill(ds, "ListeTP");
     
    	FileStream fs = new FileStream(@"C:\Liste.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite);
     
    	StreamWriter w = new StreamWriter(fs);
     
    	w.Write(ExportCSV(ds));
     
    	w.Close();
     
    	conn.Close();
    }
    => Ca me creer directement un fichier Excel sur mon lecteur C ; et donc je souhaite l'améliorer en passant par une boîte de dialogue.

    Une idée ?

    Merci d'avance !

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour
    Si tu n'a pas peur d'utiliser l'espace Windows.Forms, il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Forms.SaveFileDialog
    qui pourrait faire ton bonheur...
    Mais, me semble t il, ton appli ne deviendrai utilisable que sur un pécé équipé du framework .net 1.1 (à vérifier)

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    System.Windows.Forms.SaveFileDialog ne peut pas être utiliser car il est en WebForms

    Pour son problèle, il pourrait essayer de modifier les headers mais le pb, c'est que c'est un comportement du poste client: s'il choisit de toujours ouvrir directement ce type de ficiher, tu ne peux rien y faire.

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Donc faut tout refaire à la main ?

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour.

    Personne ne sait comment je pourrais faire ? Parce que j'ai trouvé quelques trucs, mais tout est pour du windowsform ; rien de ce que j'ai vu ne fonctionne en webform...
    Et je me sens moyen chaud pour tout faire "à la main"...

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je te l'ai dit :

    Citation Envoyé par morpheus
    essayer de modifier les headers mais le pb, c'est que c'est un comportement du poste client: s'il choisit de toujours ouvrir directement ce type de ficiher, tu ne peux rien y faire.

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Ok merci, mais je comprends pas trop ce que tu veux dire...
    Tu pourrais m'expliquer un peu plus stp ?

    Merci d'avance...

  8. #8
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    Avec un PDF ca donne ca:
    http://www.developpez.net/forums/viewtopic.php?t=225517

    pour excel je presume que ca doit etre "Application/xls"

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci.

    Pour info, il faut "Application/x-msexcel" et pas "Application/xls".

    Sinon, ce n'est pas exactement ce que je veux faire... Moi, je n'ai pas de fichiers sur mon serveur (en tout cas pas ceux-là). Le fichier en question se créer lors du clic sur un bouton. Et je souhaite juste avoir une fenetre "Enregistrer sous" pour que l'utilisateur puisse choisir l'endroit où sera enregistré le fichier. Pour l'instant, j'arrive à créer le fichier (cf mon code plus haut) mais je n'ai pas la boite de dialogue et donc le fichoer se créer sur le serveur, ce qui ne me plait pas beaucoup...

  10. #10
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Si tu garde le code tel que tu l'as montre: effectivement, ca va pas le faire

    Il faut que tu transformes ExportCSV(ds) en MemoryStream (en supposant que cela produise qq chose de lisible par excel), et que tu l'envoies au navigateur en specifiant "Application/x-msexcel" avec WriteBinary je presume
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassbinarywritetopic.asp

    Bon asp.net je dis tout de suite j'en fais pas , donc si il y a qqun pour confimer ca serait pas mal

  11. #11
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Ok, je te remercie beaucoup

    Je vais regarder dans ces directions.

    Merci encore.

  12. #12
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous.

    Je suis désolé de revenir à la charge comme ca, mais je ne parviens pas à résoudre mon problème...

    J'ai essayé de suivre l'exemple donné par Piotrek mais j'ai encore quelques soucis. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    string Filename="test.doc"; 
    Page.Response.ContentType="APPLICATION/MSWORD"; 
    string disHeader="Attachment=null; Filename=\""+Filename+"\""; 
    Page.Response.AppendHeader("Content-Disposition",disHeader); 
    System.IO.FileInfo fileToDownload = new System.IO.FileInfo("C:\\test.doc"); 
    Page.Response.Flush();
    Page.Response.End();
    Le fichier test est un fichier qui est créé et enregistré sur mon serveur.
    Mais ensuite, quand l'utilisateur choisi d'enregistrer (ou meme simplement de l'ouvrir), ca me crée un fichier à l'emplacement spécifié, mais avec rien dedans...

    Le problème doit venir (je crois...) de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.FileInfo fileToDownload = new System.IO.FileInfo("C:\\test.doc");
    mais je ne sais plus comment faire...

    Merci !

  13. #13
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bon bah j'ai (ENFIN !!! ) trouvé une solution convenable. C'est trop bien, je fais pouvoir passer un bon week end 8) !

    Pour info, je mets le code (au cas où ca interesse quelqu'un) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string FileName = "C:\\NomDuFichier.doc";
    System.IO.FileInfo file = new System.IO.FileInfo(FileName); 
    Page.Response.Clear(); // clear the current output content from the buffer 
    Page.Response.AppendHeader("Content-Disposition", "attachment; FileName=" + file.Name); 
    Page.Response.AppendHeader("Content-Length", file.Length.ToString()); 
    Page.Response.ContentType = "application/msword"; 
    Page.Response.WriteFile(file.FullName);
    Page.Response.End();

  14. #14
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Faut arréter avec les noeurdseries... Vive microsoft, vive cette entreprise qui est la première a remplir son porte feuille en reconstruisant l'Irak que son pays a si bien détruit. C'est beau la technologie, ça fait avancer le monde, ça rend les riches plus riches et les pauvres plus pauvres. Il faut continuer à produire de nouvelles et de nouvelles versions, pour vendre les licences, les formations, pour créer le besoin, vendre des machines, puis jeter les anciennes.

    C'est beau la vie, merci microsoft et merci l'informatique

  15. #15
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ben qu'est ce que tu fais là alors.. ?

  16. #16
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Au départ je venais chercher des informations afin de finaliser un projet pour mon école. Finalement, plus je "browse" ce forum et plus je me sents différent de tous ces gens. Je veux parler de ceux qui quittent leur ordinateur de travail pour s'empresser d'allumer celui de leur domicile. Je parle de ces gens qui n'ont qu'une image virtuelle du monde réel car il correspond à la vitrine de celui que l'on veut bien leur présenter. Je parle aussi pour tous ceux qui croient que l'argent fait le bonheur, et qui, en consommant sans cesse des produits technologiques tentent d'assouvir leur désirs, d'une frustation qu'ils ne pourront jamais combler. La vie ne s'arrête pas à internet. Je suis loin de tout avoir vu et tout compris dans la vie, mais je vois que nombreux sont ceux qui en ont vu encore moins. Peut être que nous avons une mission sur terre plus importante que celle qui consiste en la production de lignes de code quand on sait la pauvretté qui reigne sur ce triste monde.

  17. #17
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Au départ je venais chercher des informations afin de finaliser un projet pour mon école. Finalement, plus je "browse" ce forum et plus je me sents différent de tous ces gens. Je veux parler de ceux qui quittent leur ordinateur de travail pour s'empresser d'allumer celui de leur domicile. Je parle de ces gens qui n'ont qu'une image virtuelle du monde réel car il correspond à la vitrine de celui que l'on veut bien leur présenter. Je parle aussi pour tous ceux qui croient que l'argent fait le bonheur, et qui, en consommant sans cesse des produits technologiques tentent d'assouvir leur désirs, d'une frustation qu'ils ne pourront jamais combler. La vie ne s'arrête pas à internet. Je suis loin de tout avoir vu et tout compris dans la vie, mais je vois que nombreux sont ceux qui en ont vu encore moins. Peut être que nous avons une mission sur terre plus importante que celle qui consiste en la production de lignes de code quand on sait la pauvreté qui reigne sur ce triste monde.

  18. #18
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    http://www.developpez.net/forums/viewtopic.php?t=340944

    T'as interêt à bien tout lire...

    On ne te force pas à aller sur ce forum, toutes les personnes qui y répondent sont bénévoles et font en généralement ça pendant leur temps de travail. Tu remarqueras que la fréquentation, à part quelques pékinois, se fait exclusivement de 9h à 18h (soit les heures de travail pour les personnes qui travaillent à 39h), donc non, nous ne passons pas notre vie sur l'ordinateur !

    Et même si on le fait, tu n'as absolument rien à dire sur le choix personnel des autres. Ils t'aident et toi, tu viens les critiquer.

    Secondo, si on aide les gens c'est bien qu'on est prêt à "collaborer" et non tout garder pour soi...

    De plus tu as tellement surfé sur ce forum que tu n'as que 7 messages à ton actif. Je ne crois pas que tu puisses juger ainsi.

  19. #19
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci de porter tant d'attention à mes posts et tant de sympathie à tes confrères. Il est vrai que cet esprit de solidarité est si rare dans ce monde de crabes, que je te donnerais presque raison sur certains points. Toutefois il faut avouer que le monde de l'informatique est une machine infernale qui ne s'arrêtera jamais et dont les victimes sont : d'une part les gens qui n'ont pas assez d'argent pour investir dans l'informatique (particuliers et professionnels) et d'autre part ceux qui ont le budget suffisant et qui le dépensent dans ce domaine. Entre ces deux entités, on trouve les développeurs qui arrivent tant bien que mal à en tirer leur épingle du jeu, et, au dessus, les grands de l'informatique qui jouent avec tous ces gens pour remplir des comptes en banque.

    Je ne vais pas continuer cette conversation interressante car, je ne me connecterai pas sur ma connection ADSL en arrivant chez moi.

    Je te souhaite une bonne continuation et surtout du courage

  20. #20
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Mais ce n'est pas qu'en Informatique que c'est comme ca. Tu peux étaler ça à l'habitat, l'alimentation, le prêt-à-porter, la téléphonie, les jouets, enfin tout est payant...

    Tu peux travailler bénévolement si tu veux. Il y a ceux qui s'en sortent et tant mieux pour eux. Je ne pense pas que tu refuserais d'être à la place de Bill Gates rien que pour voir ce que ça fait...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. boite de dialogue enregistrer sous
    Par maxeur dans le forum Access
    Réponses: 8
    Dernier message: 23/01/2007, 16h23
  2. Réponse boite de dialogue prédéfinie "Enregistrer les modifications"
    Par catherineFR27 dans le forum Général VBA
    Réponses: 6
    Dernier message: 05/09/2006, 17h18
  3. Pb Boite de dialogue "enregistrer sous"
    Par tangueros dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 11h25
  4. Boîte de dialogue "Enregistrer sous"
    Par Sophy75 dans le forum Langage
    Réponses: 7
    Dernier message: 04/04/2006, 18h19

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