msdn17_capa.gif

Clique aqui para ler todos os artigos desta edição

 

EXCEL

Integre os Dados da Planilha com Web Services

por Alok Mehta

Este artigo discute

Este artigo usa as seguintes tecnologias:

·          Como integrar dados de vários Web services usando Excel e VBA

·          Os recursos do Office Web Services Toolkit

·          Como manipular os dados no Excel e usá-los para criar relatórios

·          Um aplicativo de exemplo para ajudá-lo a dar os primeiros passos

Office 2003, Web Services, Visual Basic

 

Download:

ExcelWebServices.exe (251KB)

Chapéu

EXCEL

 

 

O Microsoft® Office 2003 contém funcionalidade avançada baseada em XML, incluindo integração com Web services. Por exemplo, com o uso dos recursos de Web services do Office 2003, os desenvolvedores podem criar uma variedade de soluções que ajudem os usuários a aumentar sua produtividade no eBay. Os Web services oferecidos pelo eBay permitem que você use o Excel para gerenciar dados de listas dinâmicas, tais como determinação de preços e lances em leilões, e atualize esses dados automaticamente à medida que as alterações ocorrerem. As soluções também poderiam permitir que os usuários listassem simultaneamente vários itens no eBay ou criassem um Web site que exibisse a lista de itens que anunciaram no eBay.

Tudo isso foi possível com o Office 2003 Web Services Toolkit, que reduz a programação exigida para integrar os dados retornados dos Web services com o VBA (Visual Basic® for Applications). Juntos, o Office 2003 e os Web services oferecem uma plataforma para a criação de soluções robustas para gerenciamento de aplicativos úteis. Faça o download desta ferramenta em Microsoft Office 2003 Web Services Toolkit 2.01 (http://www.microsoft.com/downloads/details.aspx?familyid=%20fa36018a-e1cf-48a3-9b35-169d819ecf18&displaylang=en).

Dentre os aplicativos do Office, o Excel 2003 em particular permite que os desenvolvedores integrem dinamicamente os dados fornecidos pelos Web services. Ele também permite que você aproveite as vantagens dos últimos recursos do Office 2003 para personalizar exibições de listas (list views) e gráficos, bem como para catalogar itens em massa, tanto on-line como off-line. A integração de Web services no Excel 2003 também pode fornecer análise de dados ad hoc no ambiente familiar do Excel, tais como análises estatísticas dos dados extraídos do Web service.

Este artigo descreve como o Office 2003 Web Services Toolkit fornece uma API que permite que você selecione os Web services que deseja e crie classes proxy para seu VBA. Uma vez instalado o toolkit, a ferramenta poderá ser acessada por meio do comando Web Service References no menu Tools do Office Visual Basic Editor. Com o Office Visual Basic Editor, os programadores podem agora definir referências a Web services XML como fariam em qualquer biblioteca de tipos intrínseca. As classes de proxy do VBA geradas pela ferramenta permitem tanto early binding como IntelliSense®, o que torna o consumo de Web services XML mais simples e intuitivo e praticamente elimina erros de sintaxe.

 

O Toolkit

O Office 2003 Web Services Toolkit permite que você acesse e use rapidamente Web services com VBA a partir dos aplicativos Office 2003. Ele permite que você use a interface gráfica do usuário para pesquisar Web services a partir de qualquer registro UDDI (Universal Description Discovery and Integration) ou para especificar um determinado Web service, fornecendo um URL para o arquivo que contém a descrição do Web service. O arquivo de destino pode estar no formato WSDL (Web Services Description Language) ou VSDisco (Visual Studio® Discovery), que ainda é suportado apesar de obsoleto. Se o arquivo de descrição contiver informações sobre vários Web services, a interface gráfica do usuário permite que este selecione alguns ou todos os Web services para uso no documento atual.

A ferramenta gerará então o código para as classes que acessam os Web services usando o objeto do cliente Microsoft SOAP. Essas classes geradas terão métodos correspondentes às operações suportadas pelos Web services. O usuário pode escrever scripts VBA simples sem precisar saber que os objetos que elas estão usando são realmente proxies de Web services. O toolkit suporta Office SOAP 3.0 e requer MSXML 3.0.

O Office 2003 Web Services Toolkit também inclui a Web Services References Tool, que lhe permite localizar Web services. A melhor parte desse toolkit é que ele gera automaticamente o código para você. Discutirei as listagens de geração de código automático em breve.

 

Um cenário acadêmico

Para ilustrar a capacidade do uso de Web services ASP.NET no VBA, desenvolvi um exemplo simples que inclui tanto um Web service de exemplo como a planilha que o utiliza. A finalidade do Web service é recuperar as notas de um aluno para um dado professor e semestre. Esse exemplo usa um banco de dados com um modelo de dados simples (veja a Figura 1). A idéia geral é: um professor ministra um curso que tem muitos alunos em um determinado semestre. Os alunos são avaliados a partir de testes, trabalhos de casa, uma prova no meio do período, participação em classe e um exame final. Muitas vezes, os professores querem analisar o desempenho do aluno em um semestre em particular por meio da média de suas notas e de outras estatísticas. Ao expor essas informações através de um Web service, os professores poderiam consumir esses dados em Excel 2003 e usá-los para calcular diversas estatísticas interessantes.

 

image001.gif

Figura 1 Modelos de dados das notas do aluno

 

O exemplo é dividido em três partes: O Web service ASP.NET baseado em servidor, denominado Get_Grades; o VBA no lado cliente em uma planilha, denominado Client.XLS, que foi desenvolvido em Excel 2003; e o código do toolkit que é executado no lado cliente. Esse código é gerado automaticamente pelo toolkit e oferece um proxy para o Web service ASP.NET por meio da inclusão de chamadas a ele. ...

Quer ler esse conteúdo completo? Tenha acesso completo