Bonjour, voila j'ai récupéré un code qui me permet d'exporter des données à partir d'un datagrid vers excel qui est celui-ci
Cependant avec ce code j'ai un problème avec les signes & < L'opérateur '&' n'est pas défini pour 'Nothing' et type 'DataGridViewTextBoxCell'. >, j'ai voulu les remplacer par des + mais même problème < L'opérateur '+' n'est pas défini pour type 'DataGridViewTextBoxCell' et chaîne " ". >
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim i Dim iCnt As Integer Dim tamponxls As String tamponxls = vbNullString iCnt = Me.BindingContext(ObjetDataSet, table).Count For i = 0 To iCnt If i = iCnt Then Exit For tamponxls = tamponxls & (Me.DataGridMission.Item(i, 1)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 2)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 3)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 4)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 5)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 6)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 7)) & vbTab tamponxls = tamponxls & (Me.DataGridMission.Item(i, 8)) & vbTab & vbCr Next i RichTextBox1.Text = tamponxls Dim saveFileDialog1 As New SaveFileDialog saveFileDialog1.Filter = "Excel|*.xls|Texte|*.txt|Richtext|*.rtf" saveFileDialog1.Title = "Sauver le fichier exporter sous ?" saveFileDialog1.ShowDialog() If saveFileDialog1.ShowDialog() = DialogResult.OK Then RichTextBox1.SaveFile(saveFileDialog1.FileName, _ RichTextBoxStreamType.PlainText) End If
du cou j'ai fait des recherches et j'ai voulu utiliser le code qui est disponible dans la faq vb.net pour exporter des données vers excel, mais j'obtiens cette erreur : "Exception de HRESULT : 0x800A03EC" et cela se passe au moment de la lecture des lignes et des colonnes de mon datagrid.
si quelqu'un avait une solution pour une des deux methodes, de préférence celle de la faq qui m'évite de passer par un richtextbox, çà m'aiderait vraiment beaucoup car j'ai pas trouvé de cas similaire sur le net
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet xlApp = CType(CreateObject("Excel.Application"), Excel.Application) xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook) xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet) ' ici on compte le nombre de lignes et de colonnes du datatable Dim nbrLigne As Integer = ObjetDataSet.Tables(table).Rows.Count - 1 Dim nbrColon As Integer = ObjetDataSet.Tables(table).Columns.Count - 1 Dim x, y As Integer For x = 0 To nbrColon ' ici on prends le titre des colonnes du datatable xlSheet.Cells(1, x + 1) = ObjetDataSet.Tables(table).Columns(x).ColumnName ' on mets la première ligne en gras xlSheet.Rows(1).Font.Bold = True ' pour chaque colonne et chaque ligne on transfert les données For y = 0 To nbrLigne xlSheet.Cells(y + 2, x + 1) = DataGridMission.Item(y, x) ====> çà se passe ici le problème Next Next ' ici on affiche les résultat dans excel xlSheet.Application.Visible = True ' on peut sauvegarder notre document sur le disque xlSheet.SaveAs("C:\nom_document.xls") ' on quitte l'application et on détruit les objets xlApp.Quit() xlSheet = Nothing xlBook = Nothing xlApp = Nothing
d'avance merci
@++
dubidon
Partager