Datagridview, excel

Signaler
-
 GAhmed -
Bonjour !!

Je suis en stage et j'ai trouvé des problemes avec crystal report alors j'ai du changer ma methode de travail et j'ai fai en sorte d'afficher le resultat de ma requetes sur un datagridview et puis l'exporter vers un ficher excel.
La methode a bien marché pour une premiere fois mais dans un deuxieme cas j'ai trouvé des problemes lors d'affichages des données dans excel !
J'ai un datagridview qui affiche les données des cautions par succursale et moi je veux extraire les données de mon datagridview et avoir un affichage par succursale sur excel !

voila le code ki extrait les données de datagridview vers excel

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")



xlWorkSheet.Cells(10, 2) = " N° caution "
xlWorkSheet.Cells(10, 3) = " Date caution "
xlWorkSheet.Cells(10, 4) = " Nature caution "
xlWorkSheet.Cells(10, 5) = " Montant caution "
xlWorkSheet.Cells(10, 6) = " Banque "
xlWorkSheet.Cells(10, 7) = " Compte "
xlWorkSheet.Cells(10, 8) = " Succursale "
xlWorkSheet.Cells(10, 9) = "Beneficiaire "
xlWorkSheet.Cells(10, 10) = " Demandeur "
xlWorkSheet.Cells(10, 11) = " Numéro marché "
xlWorkSheet.Cells(10, 12) = "Etat caution "
xlWorkSheet.Cells(10, 13) = " Observation "


For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells((i + 10) + 1, (j + 1) + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next

Dim save As New SaveFileDialog()
Dim chemin As String
Dim result As DialogResult = save.ShowDialog()
save.Filter = "XLSX|*.xlsx"

If (result = Windows.Forms.DialogResult.OK) Then

chemin = save.FileName
xlWorkSheet.SaveAs(chemin & ".xlsx")
xlApp.Application.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
MessageBox.Show("Opération réussie", "Exportez vers Excel", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
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

3 réponses


Bonjour,

Tu devrais trouver des idées parmi les liens indiqués sur cette page.
Merci cmarcotte :) ! je vais chercher dans le lien :D
J'ai bien cherché dans le lien cmarcotte mais j'ai rien trouvé !
J'ai pas de probleme dans l'exportation des données parcke ca se passe comme il faut !
Mais mon probleme c'est que je veux preparer la mise en page pour l'utilisateur en lui mettant chaque succursale dans une ligne et sous chak succursale les lignes qui la correspondent !
Alors je dois modifier mes boucles For mai j'ai pas su l faire !
(NB : la 1ere colonne c'est la colonne qui contient les noms des succursales)