March 27
Saper leggere le righe di Microsoft Excel tramite l'applicazione Visual Basic.NET può rendere l'applicazione più flessibile. In VB, è possibile creare stringhe SQL e query di fogli di calcolo Excel sulla base di criteri per evitare di leggere l'intero foglio. Ciò viene realizzato attraverso l'uso di un adattatore di dati ei dati Insieme dell'oggetto. È possibile utilizzare LINQ per gestire i dati restituiti e manipolare una riga alla volta nel set di dati.
1 Avviare Microsoft Excel e digitare "Nome" nella cella "A1", "Age" in "B1", "John" a "A2", "10" a "B2", "Susan" a "A3", "15" in "B3" "Tom" in "A4", "10" in "B4," "Bob" in "A5" e "10" in "B5". Salvare il foglio di calcolo in "C: \" come "ExcelFile.xlsx." Chiudere Excel.
2 Avviare Microsoft Visual Basic.NET e fare clic su "New Project" dal riquadro sinistro dello schermo per avviare la finestra di dialogo "Nuovo progetto". Fare clic su "Applicazione Windows Form" e fare clic su "OK" per avviare un nuovo progetto.
3 Fare doppio clic su "ListBox" dal riquadro "Toolbox" per aggiungere un nuovo controllo casella di riepilogo al form. Aggiungere un nuovo pulsante con la stessa tecnica.
4 Fare doppio clic sul form per creare un evento carico di modulo. Aggiungere il seguente codice per definire il percorso del foglio di calcolo Excel che si desidera leggere e creare le variabili oggetto che si utilizzeranno per leggere il file:
Dim connString As String = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C: \ ExcelFile.xlsx; estesa proprietà = Excel 12.0;"
Dim myConnection As OleDbConnection = New OleDbConnection
Dim ds As DataSet
da fioco come OleDbDataAdapter
Dim strSQL As String
5 Definire la stringa SQL per interrogare le righe in cui "Age" è pari a 10 e leggere il foglio di calcolo di Excel tramite un adattatore di dati e di un set di dati.
strSQL = "SELECT NAME, AGE FROM [Sheet1$] WHERE Age = 10"
myConnection.ConnectionString = connString
da = new OleDbDataAdapter (strSQL, myConnection)
ds = new DataSet
da.Fill (ds, "dataTable")
myConnection.Close ()
6 Leggere i dati restituiti dal set di dati e memorizzarlo nella "ExcelRows" allineamento globale per un utilizzo futuro.
Dim excelData = ds.Tables("dataTable").AsEnumerable()
Dim rowQuery = Da p In Exceldata _
Selezionare p! NOME, p! AGE
rowCntReturned = rowQuery.Count
ExcelRows = rowQuery.ToArray
7 Aggiungere le seguenti variabili globali sopra l'evento "Form1_Load":
ExcelRows Dim
Dim rowCntr As Integer
Dim rowCntReturned As Integer
8 Tornare 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.
Se (rowCntr <rowCntReturned) Poi
Me.ListBox1.Items.Add(ExcelRows(rowCntr))
rowCntr + 1 =
Finisci se
9 Premere il tasto "F5" per eseguire il programma e fare clic su "Button1" per aggiungere la prima riga del foglio di calcolo. Fare di nuovo clic sul pulsante per aggiungere la seconda fila e fare clic su un ultimo momento di aggiungere la terza fila al controllo casella di riepilogo.