Como consultar e apresentar dados do excel utilizando ASP.NET, ADO.NET e Visual C# .NET

Traduções de Artigos Traduções de Artigos
Artigo: 306572 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo demonstra como apresentar os dados de uma folha de cálculo do Excel através de uma página ASP.NET (.aspx) utilizando o Visual C#. NET.


Criar folha de cálculo do Excel de exemplo

  1. Inicie o Microsoft Excel e, em seguida, crie uma nova folha de cálculo.
  2. Adicione as seguintes informações para a nova folha de cálculo para criar uma base de dados simples do Excel:
    Reduzir esta tabelaExpandir esta tabela
    UMB
    1NomeApelido
    2GonçaloMoreira
    3KatieJordânia
    Nota : Apesar dos dados começarem a célula A1 neste exemplo, pode adicionar dados a todas as células adjacentes na folha de cálculo.
  3. Realce as linhas e colunas onde residem os dados.
  4. No menu Inserir , aponte para Nome e, em seguida, clique em Definir .
  5. Na caixa de texto nomes no livro , escreva myRange1 e, em seguida, clique em OK .
  6. No menu ficheiro , clique em Guardar . Na lista Guardar em , seleccione a raiz do servidor Web (que é normalmente C:\InetPub\Wwwroot\). Na caixa de texto nome do ficheiro , escreva DadosExcel.xls . Clique em OK .
  7. No menu ficheiro , clique em Sair .

Criar ASP.NET exemplo utilizando o Visual C# .NET

Este exemplo de código demonstra como consultar e apresentar informações numa folha de cálculo do Excel. O código seguinte utiliza a folha de cálculo que criou na secção anterior.
  1. Abra o Microsoft Visual Studio .NET. O Visual Studio .NET integrada Development Environment (IDE) é apresentada.
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
  3. Na caixa de diálogo Novo projecto , em Project Types , clique em Visual C# Projects . Em modelos , clique em ASP.NET Web Application .
  4. Na caixa de diálogo Novo projecto , localize as caixas de texto Nome e localização . Repare que a caixa de texto nome não está disponível (aparece a cinzento ou desactivada). A caixa de texto de localização contém o seguinte texto (ou outra semelhante):
    http://localhost/WebApplication1
    Substitua o texto na caixa de texto de localização com http://localhost/ExcelCSTest e, em seguida, clique em OK . É criado um novo projecto, que inclui um formulário da Web denominado WebForm1.aspx.
  5. No IDE do .NET no Visual Studio, localize a janela Solution Explorer. Se não conseguir localizar, clique em Solution Explorer , no menu Ver .
  6. No Solution Explorer, clique com o botão direito do rato em WebForm1.aspx e, em seguida, clique em do Estruturador de vistas para apresentar o estruturador para o aspecto da página. O estruturador permite-lhe adicionar controlos e manipular o aspecto da página.
  7. Localize a caixa de ferramentas. Dependendo das definições de IDE Option, a caixa de ferramentas pode aparecer como uma janela ou um botão (que aparece frequentemente no lado esquerdo do IDE). Se não conseguir localizar a caixa de ferramentas, clique em caixa de ferramentas no menu Ver .

    Se a caixa de ferramentas aparece como um botão, mova o ponteiro sobre o botão para que sejam apresentado o conteúdo da caixa de ferramentas.
  8. Quando a vista de um formulário da Web designer está activa, a caixa de ferramentas está dividida em secções, incluindo os formulários da Web, componentes, HTML e outras secções. Clique na secção Web Forms.
  9. Na secção Web Forms da caixa de ferramentas, clique em DataGrid e, em seguida, arraste-o para o estruturador para WebForm1.
  10. Clique com o botão direito do rato em WebForm1.aspx e, em seguida, clique em Código para visualizar a origem da página de código.
  11. Adicione as seguintes instruções na parte superior do código - atrás de página, acima da secção espaço de nomes:
    using System.Data.OleDb;
    using System.Data;
    					
  12. Realce o código seguinte, clique com o botão direito do rato no código e, em seguida, clique em Copiar . Em WebForm1.aspx.cs, cole o código para o evento Page_Load :
    // Create connection string variable. Modify the "Data Source"
    // parameter as appropriate for your environment.
    String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
    	"Extended Properties=Excel 8.0;";
    
    // Create connection object by using the preceding connection string.
    OleDbConnection objConn = new OleDbConnection(sConnectionString);
    
    // Open connection with the database.
    objConn.Open();
    
    // The code to follow uses a SQL SELECT command to display the data from the worksheet.
    
    // Create new OleDbCommand to return data from worksheet.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);
    
    // Create new OleDbDataAdapter that is used to build a DataSet
    // based on the preceding SQL SELECT statement.
    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    
    // Pass the Select command to the adapter.
    objAdapter1.SelectCommand = objCmdSelect;
    
    // Create new DataSet to hold information from the worksheet.
    DataSet objDataset1 = new DataSet();
    
    // Fill the DataSet with the information from the worksheet.
    objAdapter1.Fill(objDataset1, "XLData");
    
    // Bind data to DataGrid control.
    DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
    DataGrid1.DataBind();
    
    // Clean up objects.
    objConn.Close();
    					
  13. No menu ficheiro , clique em Guardar tudo para guardar os ficheiros de projecto.
  14. No menu criar , clique em criar para criar o projecto. Isto prepara o código na página de código para que possa ser executado.
  15. No Solution Explorer, clique com o botão direito do rato em WebForm1.aspx e, em seguida, clique em View in browser para executar o código.

Explicação adicional de código

O código de exemplo neste artigo utiliza o Microsoft Jet OLE DB Provider para aceder a folha de cálculo do Excel. Este código utiliza a seguinte cadeia de ligação para ligar a folha de cálculo:
// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
	"Extended Properties=Excel 8.0;";
				
como indicarem os comentários, terá de modificar as informações de caminho para a folha de cálculo específica do Excel. Além disso, também deve definir o valor do parâmetro Propriedades expandidas para ligar correctamente o ficheiro.

Repare que a cadeia de ligação utiliza a função Server.MapPath . Esta função tem um caminho que é relativo ao Microsoft (IIS) para um ficheiro e devolve um caminho de disco rígido para esse ficheiro. Por exemplo, na secção Create Sample Excel Spreadsheet, cria DadosExcel.xls no directório raiz da Web, que está normalmente localizado em C:\Inetpub\Wwwroot. Isto também cria uma subpasta chamada ExcelCSTest na pasta Wwwroot e um ficheiro denominado WebForm1.aspx dentro da pasta ExcelCSTest.

Neste exemplo, o caminho do ficheiro no disco rígido é da seguinte forma:
     C drive
        - Inetpub
            - Wwwroot (which contains ExcelData.xls)
                - ExcelCSTest (which contains WebForm1.aspx)
				
IIS O caminho para os ficheiros é o seguinte:
     Web Root (which contains ExcelData.xls)
        - ExcelCSTest (which contains WebForm1.aspx)
				
neste caso, o caminho relativo da página WebForm1.aspx para o ficheiro DadosExcel.xls é ".../ DadosExcel.xls ". O ".../ "caracteres informam o IIS para subir o nível de uma pasta. Por conseguinte, o código
Server.MapPath("../ExcelData.xls")
				
devolve a seguinte cadeia:
C:\Inetpub\Wwwroot\ExcelData.xls
Não é necessário utilizar Server.MapPath . Pode também permanentemente de código estas informações para um caminho específico ou pode utilizar qualquer método para fornecer a localização do ficheiro Excel no disco rígido.

Referências

Para obter informações adicionais sobre como aceder a ficheiros Excel com ASP.NET, clique os números de artigo existente abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:
307029COMO: Transferir dados XML para o Microsoft Excel 2002 utilizando o Visual C# .NET
306023COMO: Transferir dados para um livro do Excel utilizando o Visual C# .NET
Para obter informações adicionais sobre como utilizar ADO.NET, clique os números de artigo existente abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:
306636COMO: Ligar a uma base de dados e executar um comando utilizando o ADO.NET e Visual C# .NET
314145COMO: Preencher um objecto de DataSet a partir de uma base de dados utilizando o Visual C# .NET
307587COMO: Actualizar uma base de dados de um objecto de DataSet utilizando o Visual C# .NET
Nota : os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de correio electrónico, logótipos, pessoas, locais e eventos aqui mencionados são fictícios. Nenhuma associação com qualquer empresa, organização, produto, nome de domínio, endereço de correio electrónico, logótipo, pessoa, locais ou eventos é intencional ou deve ser inferida.

Propriedades

Artigo: 306572 - Última revisão: 23 de novembro de 2004 - Revisão: 4.5
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET (included with the .NET Framework)
Palavras-chave: 
kbmt kbdatabase kbhowtomaster kbwebforms KB306572 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306572

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com