C# Geral SharePoint SharePoint 2013 Tecnologia

Consumindo um arquivo Excel no SharePoint Online com Excel REST API – Parte 1

Olá Pessoal!

Hoje vamos começar uma série de posts sobre um recurso bem interessante e que pode ser usado para vários cenários de desenvolvimento de aplicações utilizando recursos e dados de um arquivo Excel hospedado dentro do SharePoint Online através de uma API REST.

Para conhecer mais sobre os recursos dessa API, segue o link do MSDN com toda a estrutura:

https://msdn.microsoft.com/en-us/library/office/ee556413(v=office.14).aspx

A API se basea no Excel Services, e no nosso exemplo aqui vamos criar uma aplicação em .NET completa para recuperar as informações de algumas formas disponíveis.

Para entendermos melhor sobre as formas de dados que podemos trabalhar, é importante que você conheça o Atom Feed, o Json e o Html, que são as formas de dados que vamos ter para trabalhar como retorno das nossas requisições.

O objetivo então dessa série de artigos é criarmos uma aplicação que leia as informações de uma planilha de relatório financeiro nos três formatos descritos acima. Nessa primeira parte vamos conhecer mais sobre a API em si e nos próximos posts vamos criar a aplicação web que irá consumir os dados. Vamos lá?

Primeiramente, vamos falar sobre a requisição que estamos para fazer, a idéia é que vamos nos conectar ao SharePoint Online, e fazer uma requisição para a API através da Url combinada dos parâmetros. A estrutura padrão da URL da API é:

http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx/<Biblioteca>/<Arquivo.xslx>/model

Com a url acima é que acessamos a API Excel já existente no nosso Portal SharePoint. Acessando o link que citei lá no começo do guia de referência da API, vocês vão poder ver que temos alguns modelos de dados que podemos recuperar, mas utilizando a url acima já conseguimos retornar a estrutura de dados padrão (Podemos fazer o teste via browser):

1

Perceba que nesse exemplo eu utilizei a Url https://quickedit.sharepoint.com/financeiro/_vti_bin/ExcelRest.aspx/Documentos%20Compartilhados/Reports.xlsx/Model/ , ou seja, o quickedit.sharepoint.com/financeiro é a url do meu site, o Documentos Compartilhados é o nome da Biblioteca e o Resports.xslx é o nome do arquivo em questão.

Agora vamos conhecer os modelos de dados propriamente ditos que podemos recuperar para trabalhar:

Ranges

Nesse modelo de dados vamos recuperar um Range de Células que temos dentro do nosso arquivo Excel, ou seja, quando selecionamos uma quantidade de Células e nomeamos esse range. Para usar esse modelo de recuperação de dados utilizamos a seguinte URL:

http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Ranges(‘NomeDoMeuRange&#8217;)

Tables

Nesse modelo de dados vamos recuperar as Planilhas em si do nosso arquivo excel, ou seja, passando como parâmetro o nome da Planilha que desejamos já iremos conseguir retornar os dados. Para usar esse modelo de recuperação dados utilizamos a seguinte URL:

http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Tables(‘NomeDaPlanilha&#8217;)

Charts

Nesse modelo de dados conseguimos recuperar um gráfico do nosso Excel passando seu nome como parâmetro. Para usar esse modelo de recuperação de dados, utilizamos a seguinte URL:

http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Charts(‘NomeDoMeuGráfico&#8217;)

PivotTables

Mais um modelo bem interessante de dados é o PivotTables, então, através desse modelos conseguimos recuperar informações pivotadas e organizadas da forma que você trabalhar melhor, passando o nome da nossa PivotTable.Para usar esse modelo de recuperação de dados, utilizamos a seguinte URL:

http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/PivotTables(‘NomeDaMinhaPivotTable&#8217;)

Você também pode consultar a tabela de parâmetros da API clicando no link abaixo e indo até o menu Resources URI:

https://msdn.microsoft.com/en-us/library/office/ff394530(v=office.14).aspx

Agora, falando um pouco mais sobre os formatos de dados que vamos trabalhar nessa série, vamos conhecer como requisitar a informação em ATOM, HTML e JSON.

Trabalhando o modelo de retorno HTML

Com o retorno HTML, podemos obter uma visualização não estruturada dos nossos dados, ou seja, a partir desse modelo de retorno, temos apenas uma representação gráfica/visual dos dados, basicamente uma visualização de sua planilha em formato HTML para sua página na web.

Para utilizar esse modelo, iremos adicionar os seguintes parâmetros à nossa URL:

?$format=HTML

A url final ficaria então: http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Ranges(‘NomeDoMeuRange)?$format=html

O resultado disso é uma visualização gráfica da nossa planilha em formato html:

2

 

Trabalhando o modelo de retorno ATOM Feed

Trabalhando com esse modelo de dados, vamos ter um retorno em XML bem estruturado com o conteúdoda nossa planilha, ou seja, os dados vem melhor trabalhados para transformarmos eles e trabalharmos da forma como quisermos, diferentemente da forma como vem o HTML.

Para fazermos uma requisição de atom, devemos adicionar os seguintes parâmetros à nossa URL:

?$format=atom

A url final ficaria então: http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Ranges(‘NomeDoMeuRange)?$format=atom

O resultado disso é uma visualização xml dos nossos dados:

3

 

Trabalhando o modelo de retorno JSON

Trabalhando com esse formato de dados, vamos ter o retorno de dados formato em json para consumirmos e trabalharmos a informação também de forma estruturada, permitindo maior formatação e organização do dado.

 

Para fazermos uma requisição de json, devemos adicionar os seguintes parâmetros à nossa URL:

?$format=json

A url final ficaria então: http://<UrlDoMeuSite>/_vti_bin/ExcelRest.aspx//<Biblioteca>/<Arquivo.xslx>/model/Ranges(‘NomeDoMeuRange)?$format=json

O resultado disso é uma visualização json dos nossos dados:

4

Esses são os formatos básicos e principais, mas ainda temos o modelo image para o caso de Charts e o modelo workbook para o caso de recuperar o excel como um todo.

Ainda um ponto importante é que a requisição Json não está disponível para Charts.

Esse primeiro post da série visa mostrar para vocês uma introdução do modelo de desenvolvimento e requisição de dados via Excel REST API e nos próximos posts iremos ver detalhadamente cada tipo de requisição até termos uma aplicação completa requisitando dados via REST de um SharePoint Online. (O Código final estará disponível em Git para trabalharmos em conjunto)

Espero que tenham gostado e fiquem ligados nas próximas semanas com mais posts da série, até mais!

Anúncios

um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s