Exporter les données d'une DataGridView
Petite explication de ce que je cherche à faire avec mon code.
J'ai sur un disque serveur tout pleins de fichiers xls qui sont un vrai bordel infame.
J'ai besoin de récupérer diverses info eparpillés dans ses fichiers et les mettre dans un table vide d'une base acess dans un table particulière.
Ce que j'ai deja reussi à faire c'est importer la lister des fichier excel concernés dans un gridview. qui s'appelle Gridview1.
un combobox et un bouton me permettra de récupérer les type d'infos que je desire dans un second gridview. Datagridview2.
la partie ou je seche c'est comment exporter les données recoltées vers une table d'access. J'ai un dataset dans le projet que j'ai generer par rapport a ma base access avec les tables
Si je link le datagridview2 datasource avec la table de mon dataset je ne peux creer des lignes supp j'ai une erreur.
et dans le cas ou je link pas je ne sais pas comment aller ajouter ses infos dans la table access
voici mon code actuel
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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| Imports System.IO
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim AppXls As New Microsoft.Office.Interop.Excel.Application
Dim Wsheet As New Microsoft.Office.Interop.Excel.Worksheet
Dim var01 As String
Dim var02 As Double
Dim var03 As Double
Dim var04 As Double
Dim var05 As Double
Dim var06 As String
Dim var07 As String
Dim var08 As String
Dim var09 As String
Dim var10 As String
Dim pathfi As String
Dim Nmesfi As String
If ComboBox1.SelectedItem = "TAUX HORAIRES" Then
' DataGridView2.DataSource = DBGMAODataSet.TARIFS
Dim nb As Integer = DataGridView1.Rows.Count
DataGridView2.Rows.Add(nb)
For X As Integer = 0 To 10 'nb + 1
pathfi = DataGridView1.Rows(X).Cells(6).Value
AppXls.Visible = True 'on affiche la fenetre d'excel
AppXls.Workbooks.Open(pathfi, UpdateLinks:=False, [ReadOnly]:=True) 'ouverture du fichier excel
Wsheet = CType(AppXls.ActiveWorkbook.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet) 'on selectionne la page 1
Wsheet.Select()
'lecture des cellules tarifs horaires
Nmesfi = Wsheet.Range("AE1").Value ' N° contrat
var01 = Wsheet.Range("AH20").Value ' Taux de base
var02 = Wsheet.Range("AH21").Value ' Tech maintenance
var03 = Wsheet.Range("AH22").Value ' specialiste
var04 = Wsheet.Range("AH23").Value ' Monteur
var05 = Wsheet.Range("AH24").Value ' Aide monteur
var06 = Wsheet.Range("AJ20").Value ' SAmedi
var07 = Wsheet.Range("AJ21").Value ' Nuit
var08 = Wsheet.Range("AJ22").Value ' Dimanche
var09 = Wsheet.Range("AJ23").Value ' ferie
var10 = Wsheet.Range("AJ24").Value 'insalubrité
AppXls.ActiveWorkbook.Close(SaveChanges:=False)
DataGridView2.Rows(X).Cells(0).Value = Nmesfi
DataGridView2.Rows(X).Cells(1).Value = var01
DataGridView2.Rows(X).Cells(2).Value = var02
DataGridView2.Rows(X).Cells(3).Value = var03
DataGridView2.Rows(X).Cells(4).Value = var04
DataGridView2.Rows(X).Cells(5).Value = var05
DataGridView2.Rows(X).Cells(6).Value = var06
DataGridView2.Rows(X).Cells(7).Value = var07
DataGridView2.Rows(X).Cells(8).Value = var08
DataGridView2.Rows(X).Cells(9).Value = var09
DataGridView2.Rows(X).Cells(10).Value = var10
Next
AppXls.Quit()
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
'TODO: cette ligne de code charge les données dans la table 'DBGMAODataSet.TARIFS'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.TARIFSTableAdapter.Fill(Me.DBGMAODataSet.TARIFS)
Dim dir As New DirectoryInfo("C:\Users\Eric\Documents\Contrats GMAO")
' Dim dir As New DirectoryInfo("C:\")
DataGridView1.DataSource = dir.GetFiles("*.xls")
End Sub |
Merci de m'aiguiller vers la solution , bien que j'ai lu des tutos j'ai pas tous saisi au niveau de la maj en datagridview et BDD