Envoyer un DataTable vers Excel!
Bonjour,
Je suis dépité! plus j'utilise VB.Net plus j’apprécie Vb6!
en effet en utilisant AdoDb.RocordSet il me suffit de faire CopyFromRecordset dans Excel pour remplir ma feuille.
si jutilise un DataTable il me faut 5 minutes pour faire un traitement qui me prenais une fraction de secondes?????
Code:
1 2 3 4 5 6 7 8
| Using dataadapter As New SqlDataAdapter
dataadapter.SelectCommand = New SqlCommand( _
Sql, _SQLConn)
Using ds As New DataTable()
dataadapter.Fill(ds)
Return ds
End Using
End Using |
voila mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub ExportXls(ByRef dt As DataTable, ByRef S As Object, ByVal r As Integer, ByVal c As Integer)
Dim rowIndex As Integer = r : Dim colIndex As Integer = c
For Each dr In dt.Rows
colIndex = 0
For Each dc In dt.Columns
If rowIndex = r Then
S.cells(rowIndex, 1 + colIndex).value = "Action"
If colIndex <> 0 Then S.cells(rowIndex, 1 + colIndex).value = dc.ColumnName.ToString
End If
S.cells(rowIndex + 1, 1 + colIndex).value = "'" + dr(dc.ColumnName).ToString
colIndex += 1
Next
rowIndex += 1
Next
End Sub |
Avez vous trouvé une nouvelle méthode?
Bonjour,
J'ai la même problématique que celle que vous exposez et je voulais savoir si vous avez trouvé une solution
J'utilise un programme pour créer des fichiers Excel à partir de données SQL que je récupère dans un datatable (ou une liste peu importe)
Les données sont écrites dans Excel avec des boucles lignes colonnes ça fonctionne.
vu la volumétrie cela dure beaucoup trop longtemps
J'ai essayé d'utiliser le presse papiers mais quand je colle les données , j'ai une erreur COM
Avez vous trouvé une méthode
Merci