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

C# Discussion :

[c#/Excel] Ouvrir un fichier et l'imprimer [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 21
    Par défaut [c#/Excel] Ouvrir un fichier et l'imprimer
    Bonjour à tous,
    Etant débutant en C# je bute sur la manière de réaliser un programme qui permettrait à l'utilisateur de rechercher sur le disque un fichier .XLS (excel).
    Ensuite, en cliquant sur un bouton Valider, le fichier s'ouvre dans Excel, s'imprime et se referme le tout automatiquement. Toute piste de réflexion, méthode ou code est le bienvenu
    Je vous joins le début de mon code en c# (ça doit pas être terrible ) :
    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Excel = Microsoft.Office.Interop.Excel;
     
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                this.Text = "Ouverture, impression et fermeture d'un fichier Excel";
                label1.Text = "Recherchez un fichier Excel puis cliquez sur Valider :";
                button1.Text = "Rechercher";
                button2.Text = "Valider";
            }
     
            private void RechercherXLS()
            {
                OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
                OpenFileDialog1.Filter = "Excel files (*.xls*)|*.xls*;";
                OpenFileDialog1.ShowDialog();
                textBox1.Text = OpenFileDialog1.FileName;
            }
     
            private void OuvrirImprimerFermerXLS()
            {
     
            }
     
     
            private void buttonRechercher_Click(object sender, EventArgs e)
            {
                RechercherXLS();
            }
     
            private void buttonValider_Click(object sender, EventArgs e)
            {
                OuvrirImprimerFermerXLS();
            }
     
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
     
            }
        }
    }
    Merci d'avance à toutes les personnes qui prendront le temps de me lire et de me répondre.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 21
    Par défaut
    Pour être plus précis, je vous décris la fenêtre à partir de laquelle l'utilisateur recherche le fichier puis valide pour "ouverture + impression + fermeture".

    Il y a juste un bouton "Rechercher" ( méthode : RechercherXLS() ), l'utilisateur clique dessus puis sélectionne un fichier Excel --> la directory s'affiche dans le textbox d'à côté.

    Puis il clique sur le bouton "Valider" ( méthode : OuvrirImprimerFermerXLS() ) en bas de la fenêtre et le fichier s'ouvre dans Excel, s'imprime puis se referme.

    J'espère avoir été suffisamment clair.

    Merci d'avance.

  3. #3
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    675
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 675
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            string cheminXLS;
     
            private void RechercherXLS()
            {
                OpenFileDialog open = new OpenFileDialog();
                open.Filter = "Excel files (*.xls*)|*.xls*;";
                if (open.ShowDialog() == DialogResult.OK)
                {
                    cheminXLS = open.FileName;
                    // Affiche le chemin ici 
                }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            private void Imprimer(string chemin)
            {
                System.Diagnostics.Process.Start(cheminXLS);
                PrintDocument document = new PrintDocument();
                document.DocumentName = chemin;
                document.Print();
            }
    Par contre pour la méthode Imprimer , je ne sais pas du tout si elle marche , je n'ai pas d'imprimante sous la main :/ .

    Sinon pour imprimer ton document , il y a plein d'options en C# (PrintDialog , PrintDocument , PrintPreviewDialog , etc ...) donc a toi de voir .

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 21
    Par défaut
    Merci PixelJuice.
    J'arrive à ouvrir une fenêtre de dialogue puis à récupérer dans le textbox le chemin complet du fichier excel choisi par l'utilisateur.
    Néanmoins je ne comprends pas pour l'impression, le code ne fonctionne pas chez moi, j'ai surement du oublier ou mal faire quelquechose.

    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Excel = Microsoft.Office.Interop.Excel;
    using System.Drawing.Printing;
     
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                this.Text = "Ouverture, impression et fermeture d'un fichier Excel";
                label1.Text = "Recherchez un fichier Excel puis cliquez sur Valider :";
                button1.Text = "Rechercher";
                button2.Text = "Valider";
            }
     
            private void RechercherXLS()
            {
                OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
                OpenFileDialog1.Filter = "Excel files (*.xls*)|*.xls*;";
                OpenFileDialog1.ShowDialog();
                textBox1.Text = OpenFileDialog1.FileName;
            }
     
            private void OuvrirImprimerFermerXLS()
            {
                System.Diagnostics.Process.Start(textBox1.ToString());
                PrintDocument document = new PrintDocument();
                document.DocumentName = textBox1.ToString();
                document.Print();
            }
     
     
            private void buttonRechercher_Click(object sender, EventArgs e)
            {
                RechercherXLS();
            }
     
            private void buttonValider_Click(object sender, EventArgs e)
            {
                OuvrirImprimerFermerXLS();
            }
     
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
     
            }
        }
    }
    Lorsque je clique sur le bouton Valider, j'ai une erreur qui me dit que le fichier spécifié est introuvable.

  5. #5
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    Voici la petite erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void OuvrirImprimerFermerXLS()
            {
                System.Diagnostics.Process.Start(textBox1.ToString());
                PrintDocument document = new PrintDocument();
                //document.DocumentName = textBox1.ToString();
                document.DocumentName = textBox1.Text;
                document.Print();
            }
    Et cette ligne me semble étrange :
    Normalement c'est le chemin de Excel.
    Et pour l'impression je ne suis pas sur que tu ai besoin d'ouvrir Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start(textBox1.ToString());

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 21
    Par défaut
    Merci beaucoup Katkiller, effectivement le code fonctionne bien mieux ainsi.
    Je n'avais pas besoin de cette ligne pour imprimer comme tu le disais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start(textBox1.ToString());
    Néanmoins je pense qu'elle devrait me servir par la suite car je souhaite ouvrir automatiquement dans Excel le fichier avant qu'il s'imprime puis refermer le fichier après impression. J'ai vu qu'il fallait voir du côté de la méthode Process.Start pour pouvoir ouvrir un fichier mais je n'arrive pas à trouver des informations suffisamment claires pour mon niveau.

    Merci à toi pour m'avoir bien avancé.

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

Discussions similaires

  1. Comment ouvrir un fichier et l'imprimer
    Par vantoff dans le forum C++Builder
    Réponses: 5
    Dernier message: 27/07/2006, 15h59
  2. [Excel] Ouvrir un fichier
    Par PIEPLU dans le forum Windows
    Réponses: 1
    Dernier message: 12/01/2006, 21h28
  3. [Excel] ouvrir un fichier sans le voir à l'écran
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/01/2006, 16h04
  4. Excel ouvrir un fichier
    Par pinocchio dans le forum Excel
    Réponses: 10
    Dernier message: 06/12/2005, 17h41
  5. Automation excel - ouvrir un fichier sans classeur
    Par Celia1303 dans le forum Access
    Réponses: 3
    Dernier message: 23/11/2005, 21h23

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