[VB.NET] Acessando planilha excel

Demonstração de acesso a células em planilha do Excel, podendo ser util na geração mais simples de gráficos e relatórios.

Código Fonte

Imports System.Data.OleDb

Public Class Form1
   Public Sub ObterDadosExcel()
      'Selecione as células da planilha teste.xls e no menu Inserir do Excel selecione Nome e a seguir Definir:

      Dim conn As New System.Data.OleDb.OleDbConnection
      Dim agendaReader As OleDbDataReader
      Dim connString As String
      Dim cmd As New OleDbCommand
      Try
         ' Define a string de conexão
         connString = "Data Source=" & _
         Application.StartupPath & "testeteste.xls;" & _
         "Provider=Microsoft.Jet.OLEDB.4.0;" & _
         "Extended Properties=Excel 8.0;"
         ' Abre a conexao.
         conn.ConnectionString = connString
         conn.Open()
         'Define as propriedades do objeto COmmand
         cmd.Connection = conn
         cmd.CommandText = "Select Valores From Valores"
         ' Cria um DataReader
         agendaReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
         Try
            'exibe o nome (0) , endereco(1) e a cidade(2)
            While (agendaReader.Read)
               ListBox1.Items.Add(agendaReader.Item(0))
            End While
         Finally
            agendaReader.Close()
         End Try
      Catch ex As Exception
         MsgBox(ex.Message())
      End Try
   End Sub

   Public Sub obter_celulas(ByVal CelulaExcel As String)
      Dim ExcelAPP As Excel.Application = New Excel.Application
      Try
         ExcelAPP.Visible = False
         Dim excelWB As Excel.Workbook = ExcelAPP.Workbooks.Open(Application.StartupPath & "testeteste.xls" _
            , System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing)

         Dim excelWS As Excel.Worksheet = excelWB.Worksheets(1)
   
         Dim celulas As Excel.Range = Nothing
         celulas = excelWS.Range(CelulaExcel, CelulaExcel)
         ListBox1.Items.Add(celulas.Cells.Value)

         ExcelAPP.ActiveWorkbook.RefreshAll()
         ExcelAPP.Workbooks.Application.ActiveWorkbook.RefreshAll()

         excelWB.Close(False, Nothing, Nothing)

      Catch ex As Exception
         MsgBox(ex.Message())
      Finally
         ExcelAPP.Quit()
      End Try
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      ObterDadosExcel()
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      obter_celulas(TextBox1.Text)
   End Sub
End Class

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[VB.NET] Acessando planilha excel
Tags:                 

Deixe uma resposta

%d blogueiros gostam disto: