Exporter des donnees d'un datagridview vb.net vers excel
bila20
Messages postés3Date d'inscriptionlundi 6 décembre 2010StatutMembreDernière intervention11 avril 2012
-
10 avril 2012 à 11:21
archippe mayele -
6 nov. 2015 à 13:15
voila le code que je regler pour exporter les donnes d'un datagrid vers un fichier excel qui se trouve dans le bin de mon application mais le probleme c'est que se code affiche seulement le dernier enregistrement pouver vous maider a devlopper ce code pour afficher les donnees dans les celles precése
et merci d'avence
voila le code: v1 et un view
Dim app As New Microsoft.Office.Interop.Excel.Application
app.Workbooks.Open(System.Environment.CurrentDirectory & "\etat2.xls")
app.Visible = True
'dss.Clear()
Call connect()
Cmd.CommandText = "select N_ARRIVE,NOM_EXPD,DATE_ARRIVE,LIBELLE_DEPART from v1 where (DATE_ARRIVE between '" & Me.DateTimePicker1.Value & "' and '" & Me.DateTimePicker2.Value & "') and LIBELLE_DEPART like '" & Me.ComboBox1.Text & "'"
'Cmd.CommandText = "select N_ARRIVE,NOM_EXPD,DATE_ARRIVE,LIBELLE_DEPART from v1 "
Cmd.Connection = Cnx
Cmd.CommandType = CommandType.Text
dr = Cmd.ExecuteReader
Dim i As Integer = 0
dr.Read()
app.Cells(2, 3) = dr(3)
While dr.Read
app.Cells(6 + i, 1) = dr(0)
app.Cells(6 + i, 2) = dr(1)
app.Cells(6 + i, 3) = dr(2)
i = +1
bila20
Messages postés3Date d'inscriptionlundi 6 décembre 2010StatutMembreDernière intervention11 avril 20121 10 avril 2012 à 15:34
merci NHenry de me reponder
je change i=+1 par i += 1 mais c'est la meme resultat toujours il affiche le dernier enregistrement vous n'aver pas d'autre idee??
NHenry
Messages postés15083Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 septembre 2023159 10 avril 2012 à 13:07
Bonjour,
i = +1
C'est juste ?
i += 1
Mieux non ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 10 avril 2012 à 17:52
Bonjour,
Voici le code que j'utilise pour exporter des données d'une datagridview vers Excel. Essaie le:
'Ajouter la réference Microsoft Excel 11.0 Object Library
Private Sub cmdexport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexport.Click
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("Feuil1")
For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 1, j + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next
xlWorkSheet.SaveAs(Application.StartupPath & "\monclasseur.xls") 'enregistre dans le dossier Debug de l'application
xlWorkBook.Close()
xlApp.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
MessageBox.Show("Opération réussie," & vbNewLine & "vous trouverez votre classeur dans le dossier Debug de l'application", "Exportez vers Excel", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
bila20
Messages postés3Date d'inscriptionlundi 6 décembre 2010StatutMembreDernière intervention11 avril 20121 11 avril 2012 à 00:49
merci le pivert je devloppe mon code avec les donnees de vote reponce et enfin j'arrive a resoudre mon probleme
merci a tous ce qu'on mon reponder voila le nouveau code :
Dim app As New Microsoft.Office.Interop.Excel.Application
app.Workbooks.Open(System.Environment.CurrentDirectory & "\etat2.xls")
app.Visible = True
'dss.Clear()
Call connect()
Cmd.CommandText = "select LIBELLE_DEPART from v1 where (DATE_ARRIVE between '" & Me.DateTimePicker1.Value & "' and '" & Me.DateTimePicker2.Value & "') and LIBELLE_DEPART like '" & Me.ComboBox1.Text & "'"
'Cmd.CommandText = "select N_ARRIVE,NOM_EXPD,DATE_ARRIVE,LIBELLE_DEPART from v1 "
Cmd.Connection = Cnx
Cmd.CommandType = CommandType.Text
dr = Cmd.ExecuteReader
dr.Read()
app.Cells(2, 3) = dr(0)
Dim i As Integer
Dim j As Integer
'For i = 0 To DataGridView1.RowCount - 2
' For j = 0 To DataGridView1.ColumnCount - 1
' app.Cells(6 + i, j + 1) = dr(0)
' app.Cells(6 + i, j + 2) = dr(1)
' app.Cells(6 + i, j + 3) = dr(2)
' j = j + 1
' Next
'Next
For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
app.Cells(i + 6, j + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next