Come leggere le righe di Excel in VB.NET

March 27

Come leggere le righe di Excel in VB.NET


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.

istruzione

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.