Exibindo dados de uma planilha Excel em uma página ASP.NET

 

Já tratei em diversos artigos da interação VB com o Excel. Veja a relação de links abaixo. Agora vamos ver como fazer isto usando código VB.NET.

  1. Excel & Visual Basic - Importando e Exportando dados

  2. OLE - Conceitos.

  3. Excel - Abrindo uma Planilha e Exportando p/ uma Tabela

  4. Gerando gráficos no Excel via automação OLE no Visual Basic

  5. SQL - Gravando os dados de uma planilha Excel em uma tabela de um banco de dados Access

Neste artigo eu vou mostrar como exibir dados de uma planilha Excel em uma página ASP.NET usando código VB.NET. Você vai precisar ter o Excel e o VB.NET instalados.

 

Vamos criar uma planilha Excel para usarmos neste artigo :

 

  1. Abra o Excel e crie uma planilha com os dados ao lado.

  2. A seguir selecione as linhas e colunas com os dados e no Menu - Inserir , selecione a opção Nome e a seguir Definir. (fig 1.0)

  3. Na janela - Definir Nome - informe o nome : TesteXLS  , na caixa de texto - Nomes da pasta de Trabalho. (fig 2.0)

  4. A seguir no Menu - Arquivo - opção - Salvar Como informe o nome da planilha - VBNExcel.xls  no seu diretório de trabalho definido no IIS . (O caminho padrão é /inetpub/wwwroot )

 

Fig 1.0 Fig 2.0

 

Vamos agora criar o projeto no Visual Studio .NET :

1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

  1. Project Types : Visual Basic Projects
  2. Templates : ASP.NET Web Application
  3. Name : ExcelVBnet
  4. Location : http://localhost/ExcelVBnet

2- Vamos importar o namespace : Imports System.Data.OleDb

3-  Agora vamos incluir um componente DataGrid no formulário - Webform1.aspx (Se você não estive vendo o formulário clique com o botão direito do mouse no arquivo - Webform1.aspx - no Solution Explorer e selecione - View Designer)

 

 

4- Vamos agora inserir o código no evento Page_Load do formulário , para isto clique duas vezes no formulário ou no Solution Explorer clique com o botão direito do mouse sobre WebForm1.aspx e selecione - View Code.

 

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   ' Cria variaveis que iremos usar no projeto

   Dim i, j As Integer

 

  ' Cria uma string de conexao com o planilha Excel

   Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../VBNExcel.xls") _

  & ";" & "Extended Properties=Excel 8.0;"

 

  ' Cria o objeto connection usando a string de conexao

   Dim objConn As New OleDbConnection(sConnectionString)

  ' abre a conexao com a fonte de dados

   objConn.Open()

 

  ' Cria um novo OleDbCommand que retorna os dados da planilha

   Dim objCmdSelect As New OleDbCommand("SELECT * FROM TesteXLS", objConn)

  ' Cria um novo OleDbDataAdapter que é usado para construir o DataSet  basedo na instrução SQL

   Dim objAdapter1 As New OleDbDataAdapter()

   ' Passa o comando Select para o adapter.

   objAdapter1.SelectCommand = objCmdSelect

   ' Cria um novo DataSet para manipular a informação da planilha

  Dim objDataset1 As New DataSet()

  ' Preenche o DataSet com as informações da planilha

 

  objAdapter1.Fill(objDataset1, "XLData")

  ' Constroi uma tabela a partir dos dadaos originais

  DataGrid1.DataSource = objDataset1.Tables(0).DefaultView

  DataGrid1.DataBind()

  ' Fecha e libera os objetos

  objConn.Close()

 

End Sub

 

5- Vamos salvar o projeto na opção : File | Save All e a seguir vamos construir o projeto na opção : Build | Build ExcelVBnet. Já estamos prontos para visualizar a página com os dados da planilha. No Solution Explorer clique com o botão direito do mouse sobre WebForm1.aspx e selecione View in Browser.

 

Acima vemos os dados da planilha exibidos na página ASP.NET.

 

Até mais ...

 

Referência : HOW TO: Query and Display Excel Data by Using ASP.NET, ADO.NET and Visual Basic .NET


José Carlos Macoratti