![]() |
Neste artigo vou mostrar como podemos carregar as informações de uma coluna específica de uma planilha Excel em um controle ListBox usando a linguagem VB .NET. |
![]() |
Neste artigo vou usar a função CreateObject para criar uma instância de um objeto de automação OLE (ActiveX) para o Excel : Dim oExcel As Object = CreateObject("Excel.Application")
Antes de chamar os métodos, funções ou propriedades de um objeto COM ou ActiveX, é preciso criar uma instância desse objeto.
Após criar a instância basta referenciar no código usando a variável objeto definida:
Lembrando que CreateObject só pode ser usado para criar objetos de instâncias de COM (ou ActiveX); Não pode ser usado para instanciar os componentes .NET.
Como exemplo após criar a instância COM para o Excel vamos acessar as informações de uma coluna importando-as para um controle ListBox.
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando a solução no VS Community
Abra o VS Community 2015 e clique em New Project;
Selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome VBNET_Excel_ListBox e clique no botão OK;
No formulário padrão form1.vb inclua os seguintes controles a partir da ToolBox:
ListBox - lbdados
TextBox - txtPlanilhaExcel
Button - btnLocalizar
TextBox - txtNomePlanilha
TextBox - txtNomeColuna
Button - btnImportar
Button - btnEncerrar
Disponha os controle conforme o leiaute da figura abaixo:
![]() |
No início do formulário declare as variáveis objeto que iremos usar no projeto:
Dim
oExcel As ObjectNo evento Click do botão btnLocalizar vamos incluir o código abaixo:
Private Sub btnLocalizar_Click(sender As Object, e As EventArgs) Handles btnLocalizar.Click
Dim AbrirComo As OpenFileDialog = New OpenFileDialog()
Dim caminho As DialogResult
Dim Arquivo As String
AbrirComo.Title = "Abrir como"
AbrirComo.FileName = "Nome Arquivo"
AbrirComo.Filter = "Arquivos Excel (*.xlsx)|*.xlsx"
AbrirComo.InitialDirectory = "C:\Dados\Excel\"
caminho = AbrirComo.ShowDialog
Arquivo = AbrirComo.FileName
If Arquivo = Nothing Then
MessageBox.Show("Arquivo Invalido", "", MessageBoxButtons.OK)
Else
txtPlanilhaExcel.Text = AbrirComo.FileName
End If
End Sub
|
No evento Click do botão de comando btnImportar inclua o código abaixo:
Private Sub btnImportar_Click(sender As Object, e As EventArgs) Handles btnImportar.Click
If IO.File.Exists(txtPlanilhaExcel.Text) Then
Try
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Open(txtPlanilhaExcel.Text)
oSheet = oBook.Worksheets(txtNomePlanilha.Text)
Dim i As Integer
Dim cell As String
For i = 0 To AscW(lbDados.Items.Count.ToString()(i = i + 1)) - 1
'define o nome da celula a acessar ex: A1, A2, etc
cell = txtNomeColuna.Text & Convert.ToString(i + 1)
' pega os dados da celula do Excel
cell = oSheet.Range(cell).Value
If cell = "" Then
Exit For
Else
lbDados.Items.Add(cell)
End If
Next
Catch ex As Exception
MessageBox.Show("Erro : " & ex.Message)
Finally
oExcel.Quit()
End Try
Else
MessageBox.Show("Arquivo não existe")
End If
End Sub
|
Agora execute o projeto, selecione uma planilha Excel , defina a planilha e o nome da coluna para importar seus dados:
Pegue o
projeto completo aqui :
VBNET_Excel_ListBox.zip
Porque toda a carne
é como a erva, e toda a glória do homem como a flor da erva. Secou-se a erva, e
caiu a sua flor;
Mas a palavra do Senhor permanece para sempre.E esta é a palavra que entre vós
foi evangelizada.
1 Pedro 1:24-25
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Guia básico de sobrevivência VB .NET e Excel - Macoratti.net