Exporter des données vers excel

Résolu
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 - 11 déc. 2009 à 17:23
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 - 14 déc. 2009 à 12:19
Bonjour,

ben mon problème c'est que j'ai une application sous vb.net2008/sql server2005
et je veux exporter des données bien spécifiques de la base de données vers excel

Merci
Cordialement
A voir également:

9 réponses

malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 12:15
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String
str = "SELECT * from table"
Dim adp As New OleDb.OleDbDataAdapter(str, conn)
Try
ComDset.Reset()
adp.Fill(ComDset)
DataGridView1.DataSource = ComDset.Tables(0)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Load_Excel_Details()
'Extracting from database
Dim str, filename As String
Dim col, row As Integer
str = "SELECT * from table"
Dim adp As New OleDb.OleDbDataAdapter(str, conn)
Try
ComDset.Reset()
adp.Fill(ComDset)
If ComDset.Tables.Count < 0 Or ComDset.Tables(0).Rows.Count <= 0 Then
Exit Sub
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Dim Excel As Object = CreateObject("Excel.Application")
If Excel Is Nothing Then
MsgBox("It appears that Excel is not installed on this machine. This operation requires MS Excel to be installed on this machine.", MsgBoxStyle.Critical)
Return
End If


'Export to Excel process
Try
With Excel
.SheetsInNewWorkbook = 1
.Workbooks.Add()
.Worksheets(1).Select()

Dim i As Integer = 1
For col = 0 To ComDset.Tables(0).Columns.Count - 1
.cells(1, i).value = ComDset.Tables(0).Columns(col).ColumnName
.cells(1, i).EntireRow.Font.Bold = True
i += 1
Next
i = 2
Dim k As Integer = 1
For col = 0 To ComDset.Tables(0).Columns.Count - 1
i = 2
For row = 0 To ComDset.Tables(0).Rows.Count - 1
.Cells(i, k).Value = ComDset.Tables(0).Rows(row).ItemArray(col)
i += 1
Next
k += 1
Next
filename = "c:\File_Exported" & Format(Now(), "dd-MM-yyyy_hh-mm-ss") & ".xls"
.ActiveCell.Worksheet.SaveAs(filename)
End With
System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel)
Excel = Nothing
MsgBox("Data's are exported to Excel Succesfully in '" & filename & "'", MsgBoxStyle.Information)

Catch ex As Exception
MsgBox("2 " & ex.Message)
End Try

' The excel is created and opened for insert value. We most close this excel using this system
Dim pro() As Process = System.Diagnostics.Process.GetProcessesByName("EXCEL")
For Each i As Process In pro
i.Kill()
Next

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Load_Excel_Details()
End Sub
3
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 12:18
Voici le code pour exporter toute une table vers excel,


Si il vous donne cette erreur :

Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))


alors il faut changer "Regional and Language Option"
et aller sur "Customise" et la changer en "English united state"
3
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 12:19
et noubliez pas les béblio:

Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop
Imports System.Runtime.InteropServices.Marshal
Imports System.Data.OleDb
3
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 10:17
Pe'rsonne pour me repondre!!!!!!!!!!!!!!!!!??????????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 déc. 2009 à 10:31
Bonjour,
tu as jusqu'à présent uniquement exposé ce que tu cherchais à faire (ce n'est pas là une question).
Dis-nous ce que tu as tenté dans ce sens et pose une question sur la partie spécifique qui te pose problème (c'est le principe de ce forum). Tu auras ainsi des chances de recevoir une réponse


____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 déc. 2009 à 10:35
J'appelle par ailleurs ton attention sur la présence, au bas de cette page, d'une rubrique intitulée : Sujets en rapport avec ce message.
L'as-tu parcourue ? (je te le conseille).


____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 11:11
Merci "ucfoutu"
ben pour le parcours je l'ai deja fait!!
car c'est la première chose que je fais lorsque j'ai un problème!!!

et pour ma question :
Comment exporter des données depuis la base de données vers un fichier excel à l'aide de vb.net bien sur(version 2008)???????????????????????????


et merci encore une fois
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 déc. 2009 à 11:21
Ah...
As-tu au moins passé la toute première étape (constituer un recorset des données à exporter) ?
C'est le préalable indispensable, avant même de parler d'exportation.

J'appelle également ton attention sur le fait qu'il est beaucoup plus simple de le faire "dans l'autre sens", à savoir l'importation, depuis Excel, de tes données

____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
malakrouhhi Messages postés 69 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 24 février 2010 2
14 déc. 2009 à 11:33
j'ai deja une base de données que je l'appel pour remplir une datagridview ou bien listview mais ils m'ont demandé de faire un imprimé (excel) pour certaine données qui existe deja dans la base de données
0
Rejoignez-nous