Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

imprimer via vb.net


getule

Messages recommandés

voici une procédure simple pour imprimer un gatagridview via excel (vb.net) source : http://forum.diafdz.com

[color=#008200][font=Consolas]' on importe [/font][/color]
[left][font=Consolas]Imports Microsoft.Office.Interop[/font]

[font=Consolas] 'la procédure pour imprimer[/font]
[font=Consolas] Sub imprimer()[/font]
[font=Consolas]        Dim xlApp As Excel.Application                           ' Application excel[/font]
[font=Consolas]        Dim xlBook As Excel.Workbook                          ' Classeur excel[/font]
[font=Consolas]        Dim xlSheet As Excel.Worksheet                       ' Feuille excel[/font]

[font=Consolas]        xlApp = CType(CreateObject("Excel.Application"), Excel.Application)[/font]

[font=Consolas]        xlBook = xlApp.Workbooks.Open("D:\MonRepertoire\Monfichier.xls")[/font]
[font=Consolas]        xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)  [/font]
[font=Consolas]        Try[/font]
[font=Consolas]     ' ici on compte le nombre de lignes et de colonnes du datatable[/font]
[font=Consolas]            Dim nbrLigne As Integer = Me.DataGridView1.Rows.Count - 1[/font]
[font=Consolas]            Dim nbrColon As Integer = Me.DataGridView1.Columns.Count - 1[/font]
[font=Consolas]            Dim x, y As Integer[/font]
[font=Consolas]           For x = 1 To nbrColon[/font]
[font=Consolas]                                               ' Pour chaque colonne et chaque ligne on transfert les données [/font]
[font=Consolas]                                               ' On commence par la ligne 7 et la colonne 2 pour laisser un espace      [/font]
[font=Consolas]                For y = 0 To nbrLigne[/font]
[font=Consolas]                    xlSheet.Cells(y + 7, x + 1) = Me.Vente_FactureDataGridView.Item(x, y).Value [/font]
[font=Consolas]                Next[/font]
[font=Consolas]            Next[/font]

[font=Consolas]            ' ici on affiche les résultat dans excel[/font]
[font=Consolas]            xlSheet.Application.Visible = True[/font]
[font=Consolas]            xlSheet.PrintPreview()[/font]

[font=Consolas]  ' on peut sauvegarder notre document sur le disque[/font]
[font=Consolas]            ' xlSheet.SaveAs("D:\MonRep\" Monfichier.xls")[/font]

[font=Consolas]            xlApp.DisplayAlerts = False[/font]
[font=Consolas]            ' on quitte l'application et on détruit les objets[/font]
[font=Consolas]            xlApp.Quit()[/font]
[font=Consolas]            xlSheet = Nothing[/font]
[font=Consolas]            xlBook = Nothing[/font]
[font=Consolas]            xlApp = Nothing[/font]

[font=Consolas]        Catch ex As Exception[/font]
[font=Consolas]            xlApp.DisplayAlerts = False[/font]
[font=Consolas]            xlApp.Quit()[/font]
[font=Consolas]            xlSheet = Nothing[/font]
[font=Consolas]            xlBook = Nothing[/font]
[font=Consolas]            xlApp = Nothing[/font]
[font=Consolas]        End Try[/font]
[/left]


[font=Consolas]    End Sub[/font]

 

on peut aussi faire plus de choses (en insérant le Numero de facture, le nom du client etc...)

exemple

[font=Consolas]xlSheet.Cells(4, 4) = " FACTURE N° : " & Me.Label1.Text[/font]
[left][font=Consolas]xlSheet.Cells(1, 6) = Me.Label2.Text[/font][/left]


[font=Consolas]xlSheet.Cells(2, 4) = " DOIT A : " & Me.Label3.Text[/font]

Modifié par getule
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...