Savoir lire les lignes de Microsoft Excel à partir de votre application Visual Basic.NET peut rendre votre application plus souple . En VB , vous pouvez créer des chaînes SQL et des feuilles de calcul Excel requête basée sur des critères d'éviter de lire la feuille entière . Ceci est réalisé grâce à l'utilisation d'un adaptateur de données et l'objet d'ensemble de données . Vous pouvez utiliser LINQ pour gérer les données renvoyées et de manipuler une ligne à la fois dans l' ensemble de données. Instructions
1
Lancez Microsoft Excel et tapez " nom " dans la cellule " A1 ", " Age" à "B1 ", " John" à "A2 ", " 10" à "B2 ", " Susan "à " A3 ", " 15 " à " B3 ", " Tom " dans " A4 ", " 10 "à " B4 ", " Bob " dans " A5 "et" 10 "à " B5 ". Enregistrer la feuille de calcul dans "C: \\ " as ". ExcelFile.xlsx " Fermez Excel.
2
Lancement de Microsoft Visual Basic.NET et cliquez sur " Nouveau Projet" dans le volet gauche de votre écran pour lancer la boîte de dialogue «Nouveau projet» . Cliquez sur " Application Windows Forms " et cliquez sur "OK" pour démarrer un nouveau projet .
3
Double -cliquez sur " ListBox " dans le volet «boîte à outils » pour ajouter une nouvelle liste de contrôle de la boîte à la forme . Ajouter un nouveau bouton en utilisant la même technique.
4
Double- cliquez sur le formulaire pour créer un événement de chargement du formulaire . Ajoutez le code suivant pour définir le chemin de la feuille de calcul Excel que vous souhaitez lire et créer les variables d'objets que vous utiliserez pour lire le fichier : Photos
connString As String = " Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = C: \\ ExcelFile.xlsx ; propriétés étendues = Excel 12.0 ; "
myConnection As OleDbConnection = new OleDbConnection
ds As DataSet
Dim da Comme OleDbDataAdapter
strSQL Dim As String
5
définir la chaîne SQL pour interroger les lignes où «âge» est égal à 10 et de lire la feuille de calcul Excel à l'aide d'un adaptateur de données et un ensemble de données. Photos
strSQL = "SELECT nom, âge FROM [ Feuil1 $] où l'âge = 10 "
myConnection.ConnectionString = connString
da = New OleDbDataAdapter ( strSQL , myConnection )
ds = new DataSet
da.Fill (ds , " dataTable " )
myConnection.Close ()
6
Lire les données renvoyées de l'ensemble des données et le stockent dans les « ExcelRows " réseau mondial pour une utilisation future .
Dim ExcelData = ds.Tables ( " dataTable " ) . AsEnumerable ()
rowQuery Dim = de p en ExcelData _
Select p NOM ! , p ! Age of
rowCntReturned = rowQuery.Count
ExcelRows = rowQuery.ToArray
7
Ajouter les variables globales suivantes au-dessus de la manifestation " Form1_Load " :
Dim ExcelRows
rowCntr As Integer
Dim rowCntReturned As Integer
8
Commutateur Retour à la conception de formulaire et double-cliquez sur le bouton pour créer un événement de clic . Ajoutez le code suivant pour ajouter une ligne à la fois pour le contrôle zone de liste .
( RowCntr < rowCntReturned ) Puis
Me.ListBox1.Items.Add ( ExcelRows ( rowCntr ) ) Photos
rowCntr + = 1
End If
9
Appuyez sur " F5" pour exécuter le programme et cliquez sur " Button1 " pour ajouter la première ligne de la feuille de calcul . Cliquez sur le bouton pour ajouter la deuxième rangée et cliquez une dernière fois pour ajouter la troisième ligne à la liste de contrôle de la boîte.