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 :

Remplir Tableau Word depuis C#


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 59
    Points : 27
    Points
    27
    Par défaut Remplir Tableau Word depuis C#
    Bonjour, je fais actuellement une application C# qui permet de gérer un stock ainsi que de sortir des factures. J'utilise Word pour cela. J'arrive à insérer les coordonnées dans le doc mais je ne trouves pas comment remplir un tableau. Celui des articles (quantité, Description, prix unité, prix tot) je joins le fichier pour que ce soit plus clair.

    Alors clairement ma question est :

    Comment remplir un tableau d'un document word depuis C# ?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Salut,
    moi je te conseille de créer ton tableau par programmation :
    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
     
    public Microsoft.Office.Interop.Word.Table CreateTable(int lignes, int colonnes)
    		{
    			/*On insère un paragraphe avant un tableau sinon celui ci vient recouvrir la sélection précédente*/
    			Microsoft.Office.Interop.Word.Paragraph oPara2;
    			object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
    			oPara2 = oDoc.Content.Paragraphs.Add(ref oRng);
    			oPara2.Range.Text = "";
    			oPara2.Format.SpaceAfter = 6;
    			oPara2.Range.InsertParagraphAfter();
     
     
    			//le tableau
    			Microsoft.Office.Interop.Word.Table oTable;
    			Microsoft.Office.Interop.Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
                wrdRng.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
    			Object AutoFitBehavior = new Microsoft.Office.Interop.Word.WdAutoFitBehavior();
                AutoFitBehavior = Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitContent;
    			oTable = oDoc.Tables.Add(wrdRng, lignes,colonnes,Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitContent, ref AutoFitBehavior);
    			oTable.Range.ParagraphFormat.SpaceAfter = 6;
                oTable.Rows.Alignment = WdRowAlignment.wdAlignRowCenter;
                oTable.AllowPageBreaks = false;
     
    			return oTable;    
    		}
    après tu ajoutes le contenu (fais toi une classe Word avec une fonction qui prend des paramètres)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Cell cell = oTable.Cell(ligne, colonne) ;
    cell.Range.Text = "article toto prix unitaire XXX"; //valeur de la cellule
    cell.Shading.BackgroundPatternColor = color; //couleur de fond
    oTable.Range.Font.Size = size;
    cell.Range.Font.Bold = bold ? 1 : 0;
    cell.Range.ParagraphFormat.Alignment = WdParagraphAlignment. ton alignement
    Et au besoin tu crées de nouvelles lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oTable.Rows.Add();
    Sinon je pense que tu peux récupérer ton tableau existant si tu l'a nommé. Ou pas défaut si tu as un seul tableau : .
    après ça revient au même. Une fois que tu as le tableau tu récupères chaque cellule d'une ligne tu mets du texte, tu formates, et tu passe à la ligne suivante.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 59
    Points : 27
    Points
    27
    Par défaut
    hello merci de ta réponse !!!

    J'avais déjà trouvé pour créer un tableau, le formater etc ...

    mais moi j'ai déjà le tableau qu'il me faut, et il est nommé .. donc je voudrais faire au plus simple. ..

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Bha comme je t'ai dit tu récupères ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table oTable = oDoc.Tables[0];
    Et tu boucles sur les données à ajouter...

    1er article :
    //On commence à la 2ème ligne car la 1ere c'est l'entête du tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    oTable.cell(2, 1).Range.Text = "quantité article 1";
    oTable.cell(2, 2).Range.Text = "Description article 1";
    oTable.cell(2, 3).Range.Text = "Prix unitaire article 1";
    //etc 
    //.cell(ligne, colonne) attention sur word cell(x,y) x et y commencent à 1.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 59
    Points : 27
    Points
    27
    Par défaut
    Parfait ! J'ai juste du pétouiller pour trouver la bonne cellule ^^'

    Merci encore !!

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2
    Points : 4
    Points
    4
    Par défaut oEndOfDoc
    Bonjour,
    Je m'excuse de réactiver une ancienne discussion mais je ne trouve rien de pareil sur le site.
    Ma question est la suivante : a quoi correspond oEndOfDoc ?
    Merci d'avance

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

Discussions similaires

  1. Remplir tableau word grace à Excel
    Par KenT2004 dans le forum Word
    Réponses: 1
    Dernier message: 18/09/2013, 00h55
  2. mise en forme tableau word depuis excel
    Par cobol80 dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/02/2008, 12h02
  3. Conseil pour remplir un tableau excel depuis USF
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2006, 11h15
  4. tableau word depuis delphi
    Par oliflo dans le forum Delphi
    Réponses: 10
    Dernier message: 11/09/2006, 08h59
  5. Insérer un tableau sous Word depuis Delphi
    Par muquet dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2005, 11h59

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