Plusieurs GridView vers Excel
Bonjour tt le monde,
Voila j'ai plusieurs GridView avec different format et je veux les exporter vers un fichier excel unique on clickent sur un button.Est ce que c'est possible de faire ca ou bien chaque gridview doit etre exporter dans un fichier excel diffierent ?
Merci .
exporter un dgv dans excel
bonjour ahmedige
Tu peu exporter dans un seul classeur tous tes dgv mais chaque dgv doit etre dans une feuille differente.
voici un code qui exporte un dgv dans la feuille 1.
s'il y a un 2eme dgv tu indiques la 2eme feuille etc .....
Code:
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 60 61 62 63 64 65 66 67 68 69 70 71 72
|
Imports System.Data
Imports System.Data.SqlClient
Imports Excel = Microsoft.Office.Interop.Excel
Public Class frmExportExcelBis
Private Sub btnLoadData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadData.Click
Dim cnn As SqlConnection
Dim connectionString As String
Dim sql As String
connectionString = "data source=servername;" & _
"initial catalog=databasename;user id=username;password=password;"
cnn = New SqlConnection(connectionString)
cnn.Open()
sql = "SELECT * FROM Product"
Dim dscmd As New SqlDataAdapter(sql, cnn)
Dim ds As New DataSet
dscmd.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
cnn.Close()
End Sub
Private Sub BtnExportDataExcel_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnExportDataExcel.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
'cree un nouveau classeur
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets(1)
'exporte dans le nouveau classeur
' DataGridView1 dans Feuille N°1
'ecrit les en-tetes des colonnes
For Each col As DataGridViewColumn In DataGridView1.Columns
xlWorkSheet.Cells(1, col.Index + 1) = col.HeaderText
Next
'ecrit les lignes
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("C:\vbexcel.xlsx")
xlWorkBook.Close()
xlApp.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
MsgBox("You can find the file C:\vbexcel.xlsx")
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
End Class |
bon code......