[.net] export dataset to excel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 032 fois - Téléchargée 33 fois

Contenu du snippet

Juste une tite fonction qui copie le contenu d'un dataset dans un fichier excel en .NET.
J'ai eu du mal a trouver la methode donc je pense que ca peut etre un post utile.

Source / Exemple :


Function plop()
Dim ds As New DataSet
Dim dv0 As New DataView
Dim dv1 As New DataView
Dim i As Integer
Dim MyExcel As Excel.Application
Dim MyWorkBook As Excel.Workbook
Dim MyWorkSheet As Excel.Worksheet

ds.ReadXml("file.xml")
'init Dataviews & bindings
dv0 = ds.DefaultViewManager.CreateDataView(ds.Tables(0))
dv1 = ds.DefaultViewManager.CreateDataView(ds.Tables(1))

MyExcel = New Excel.Application
MyExcel.Visible = False 'Excel will not open
MyWorkBook = MyExcel.Workbooks.Add
MyWorkSheet = MyWorkBook.ActiveSheet

' Export Datas
MyWorkSheet.Cells(1, 1) = "tab1"
MyWorkSheet.Cells(1, 2) = "tab2"
MyWorkSheet.Cells(1, 1).Font.Bold = True
MyWorkSheet.Cells(1, 2).Font.Bold = True

Dim dr As DataRowView

i = 2
For Each dr In dv0
MyWorkSheet.Cells(i, 1) = dr.Item("tab1col")
i = i + 1
Next

i = 2
For Each dr In dv1
MyWorkSheet.Cells(i, 2) = dr.Item("tab2col")
i = i + 1
Next

'Autofit the cells
MyWorkSheet.Cells(1, 1).CurrentRegion.EntireColumn.AutoFit()
'Save & Close
MyWorkBook.SaveAS("C:\file.xls")
MyWorkBook.Close()

End Function

Conclusion :


Il faut prealablement loader la reference Microsoft Excel 9.0 Object Library.

A voir également

Ajouter un commentaire

Commentaires

asem67
Messages postés
145
Date d'inscription
mardi 3 septembre 2002
Statut
Membre
Dernière intervention
24 février 2008
-
merci !!!!!
nquere
Messages postés
17
Date d'inscription
mercredi 10 mars 2004
Statut
Membre
Dernière intervention
21 mars 2006
-
Merci pour ce poste utile.
Je voulais juste savoir comment utiliser avec excel et atteindre une cellule.

C'est cour et concret. Allez, 8/10 ;)

Encore merci !
cs_Benouille
Messages postés
216
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
1 -
il y a beaucoup plus rapide en affectant la source directement par l'objet msquery d'excel.

cela permet par exemple de passer de 3-4 minutes 1 seconde pour un recorset de plusieurs milliers de lignes

la méthode consiste a affecter la source de la requete a excel. PLutot que de le remplir case par case, la requete est lancée puis affectée en un temps record. si ça interresse quelqu'un je ferais des tests et je le posterais.

merci en tout cas pour la source car moi je cherchais la référence a excel et je l'ai eu ici sans avoir à ouvrir un neurone ;)
cs_Benouille
Messages postés
216
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
1 -
j'ai eu besoin de le faire pour moi, je vous envoie donc un lien vers la source posée ici http://www.vbfrance.com/code.aspx?ID=28101

ça fait grosso modo la meme chose en beaucoup plus rapide sur des gros volumes.
Lordthias
Messages postés
15
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
9 mai 2007
-
salut,
bien interessant mais il sort d'ou le "file.xml" ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.