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.
|