Saber ler linhas do Microsoft Excel a partir da aplicação Visual Basic.NET pode fazer sua aplicação mais flexível . Em VB , você pode criar seqüências de consulta SQL e planilhas do Excel com base em critérios para evitar a leitura de toda a folha. Isto é conseguido através da utilização de um adaptador de dados e o objeto do conjunto de dados . Você pode usar LINQ para gerenciar os dados retornados e manipular uma linha de cada vez no conjunto de dados. Instruções
1
Abra o Microsoft Excel e digite " Nome " na célula "A1 ", " Idade " em " B1 ", " John " em " A2 ", "10" em " B2 ", " Susan " em " A3 ", " 15 " , em " B3 ", " Tom " em " A4 ", " 10 " , em " B4 ", " Bob " em " A5 " e " 10 " , em " B5 . " Salve a planilha em "C: \\ " como " ExcelFile.xlsx ". Feche o Excel .
2
Abra o Microsoft Visual Basic.NET e clique em " New Project" no painel esquerdo da tela para abrir a janela de diálogo "New Project " . Clique em " Windows Forms Application " e clique em "OK" para iniciar um novo projeto.
3
duplo clique em " ListBox " no painel " Toolbox" para adicionar um novo controle de caixa de lista para a forma . Adicione um novo botão usando a mesma técnica .
4
Clique duas vezes no formulário para criar um evento de carregamento de formulário. Adicione o seguinte código para definir o caminho da planilha Excel que você quer ler e criar as variáveis de objeto que você vai usar para ler o arquivo :
Dim connString As String = "Provider = Microsoft.ACE.OLEDB.12.0 , Data Source = C: \\ ExcelFile.xlsx ; prolongado Properties = Excel 12.0 ; "
Dim myConnection Como OleDbConnection = New OleDbConnection
Dim ds Como DataSet
Dim AD como OleDbDataAdapter
Dim strSQL as String
5
Definir a cadeia de SQL para consultar as linhas em que " Age" é igual a 10 e ler a planilha do Excel usando um adaptador de dados e um conjunto de dados.
strSQL = "SELECT nome, idade FROM [ Sheet1 $ ] WHERE Idade = 10 "
myConnection.ConnectionString = connString
da = New OleDbDataAdapter ( strSQL , myConnection )
ds = New DataSet
da.Fill ( ds , " dataTable " )
myConnection.Close ()
6
Leia os dados retornados do conjunto de dados e armazená-lo no " ExcelRows " matriz global para uso futuro.
Dim Exceldata = ds.Tables ( " dataTable " ) . AsEnumerable ()
Dim rowQuery = De p em Exceldata _
Selecione p ! NOME , p ! AGE
rowCntReturned = rowQuery.Count
ExcelRows = rowQuery.ToArray
7
Adicionar as seguintes variáveis globais acima o evento " Form1_Load " :
Dim Dim ExcelRows
rowCntr as Integer Dim
rowCntReturned as Integer
8
Chave voltar para o design do formulário e clique duas vezes no botão para criar um evento de clique . Adicione o seguinte código para adicionar uma linha de cada vez para o controle de caixa de lista.
Se ( rowCntr < rowCntReturned ) Então
Me.ListBox1.Items.Add ( ExcelRows ( rowCntr ) )
rowCntr + = 1
End If
9
Pressione " F5" para executar o programa e clique em " Button1 " para adicionar a primeira linha da planilha . Clique no botão novamente para adicionar a segunda linha e clique nele uma última vez para adicionar a terceira linha para o controle de caixa lista.