Saper leggere le righe di Microsoft Excel da un'applicazione Visual Basic.NET può rendere l'applicazione più flessibile . In VB , è possibile creare stringhe SQL e query di fogli di calcolo Excel in base a criteri di evitare di leggere l'intero foglio . Ciò viene realizzato attraverso l' uso di un adattatore dati e l' oggetto set di dati . È possibile utilizzare LINQ per gestire i dati restituiti e manipolare una riga alla volta nel set di dati . Istruzioni
1
lancio di Microsoft Excel e digitare " nome" nella cella " A1 ", "Age " in " B1 ", " Giovanni " a " A2 ", " 10 " a " B2 ", " Susan " a " A3 ", " 15 " a " B3 ", " Tom " in" A4 ", " 10 " a " B4 ", " Bob " in" A5 " e" 10 " a " B5 " . Salvare il foglio di calcolo in " C : \\ " come " . ExcelFile.xlsx " Chiudere Excel .
2
lancio di Microsoft Visual Basic.NET e fare clic su " Nuovo progetto " nel riquadro sinistro dello schermo per avviare la finestra di dialogo "Nuovo progetto" . Fare clic su " Applicazione Windows Form " e fare clic su "OK" per iniziare un nuovo progetto .
3
doppio clic su " ListBox " dal riquadro " Casella degli strumenti " per aggiungere un nuovo controllo casella di riepilogo per la forma . Aggiungere un nuovo pulsante con la stessa tecnica .
4
Fare doppio clic sul form per creare un evento di caricamento form. Aggiungere il codice seguente per definire il percorso del foglio di calcolo Excel che si desidera leggere e creare le variabili oggetto che si intende utilizzare per leggere il file :
Dim connString As String = "Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = C : \\ ExcelFile.xlsx ; Extended Properties = Excel 12.0 ; "
Dim myConnection Come OleDbConnection = New OleDbConnection
Dim ds As DataSet
Dim da quanto OleDbDataAdapter
Dim strSQL As String
5
definire la stringa SQL per le righe di query dove " Age " è uguale a 10 e di leggere il foglio di calcolo di Excel utilizzando un adattatore dati e un set di dati .
strSQL = "SELECT nome, l'età FROM [ Foglio1 $ ] WHERE Età = 10 "
myConnection.ConnectionString = connString
da = New OleDbDataAdapter ( strSQL , myConnection )
ds = New DataSet
da.Fill ( ds , " dataTable " ) per
myConnection.Close ( ) economici 6
leggere i dati restituiti da impostare i dati e lo immagazzinano nei " ExcelRows " matrice globale per un utilizzo futuro .
Dim ExcelData = ds.Tables ( " dataTable " ) . AsEnumerable ( ) per
Dim rowQuery = da p in ExcelData _
Select p ! NOME , p! AGE
rowCntReturned = rowQuery.Count
ExcelRows = rowQuery.ToArray
7
Aggiungi le seguenti variabili globali di cui sopra l'evento " Form1 Load " :
Dim ExcelRows
Dim rowCntr As Integer Dim
rowCntReturned As Integer
8 Interruttore
torna alla progettazione di moduli e fare doppio clic sul pulsante per creare un evento click . Aggiungere il seguente codice per aggiungere una riga alla volta per il controllo casella di riepilogo .
( RowCntr < rowCntReturned ) Poi
Me.ListBox1.Items.Add ( ExcelRows ( rowCntr ) )
rowCntr + = 1
End If
9
Premere " F5 " per eseguire il programma e fare clic su " Button1 " per aggiungere la prima riga del foglio di calcolo. Fare clic sul pulsante per aggiungere la seconda riga e fare clic su per l'ultima volta di aggiungere la terza fila per il controllo casella di riepilogo .