Compartilhar via


Obtendo intervalos usando o Feed Atom e o fragmento HTML

Este tópico descreve duas maneiras de acessar intervalos — Atom feed e o fragmento HTML, usando a API REST em Excel Services.

Observação

A API REST de serviços do Excel aplica-se ao SharePoint e SharePoint 2016 no local. Para contas do Office 365 Education, Business e Enterprise, use as APIs REAST do Excel que fazem parte do ponto de extremidade do Microsoft Graph.

Acessando a intervalos

A API REST em Excel Services suporta dois mecanismos para obtendo intervalos. A primeira é usada principalmente para permitir que aplicativos para chegar aos dados brutos de uma pasta de trabalho, ou seja, os números brutos ou valores de uma planilha. O segundo é obter fragmentos HTML de dentro de um navegador.

Conforme descrito no tópico Deteção na API REST dos Serviços do Excel , o URL REST para a página do modelo através da deteção é:


http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/model

Portanto, para uma pasta de trabalho com o nome arquivo sampleWorkbook.xlsx que é salva no http://<ServerName>/Docs/Documents/sampleWorkbook.xlsx, o seguinte é o URI para a página de modelo:

http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model

Ao utilizar o mecanismo de deteção descrito em Deteção na API REST dos Serviços do Excel, se clicar no feed Átomo de Intervalos na página do modelo no servidor ( http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model), será apresentada uma página que mostra todos os intervalos com nome no livro. A sampleWorkbook.xlsx contém um intervalo nomeado, SampleNamedRange, conforme mostrado na captura de tela a seguir:

Importante

[!IMPORTANTE] Você também pode especificar intervalos arbitrários e não apenas os intervalos retornados pela descoberta. Dois-pontos ":" deve ser substituído por "|". Por exemplo, use "A1 | G5 ", em vez de"A1: G5".

Observação

Caracteres, como "2 _" e "#" não são suportados. Para fazer referência corretamente os nomes das planilhas que contêm caracteres especiais, a diretriz básica é "ver o que o cliente do Excel faz" ao fazer referência a uma fórmula para uma planilha com especial caracteres e siga esse exemplo.

Excel Services REST named range discovery

Excel Services REST named range discovery

Acessar intervalos usando um Atom Feed

Se você clicar em SampleNamedRange na página de descoberta do intervalo, navegue até a seguinte URL:

http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom

Observe que, no Internet Explorer, a página resultante se parece com um erro, conforme mostrado na captura de tela a seguir.

Excel Services REST range discovery using Atom

Excel Services REST range discovery using Atom

Internet Explorer não é possível exibir uma entrada única de que item de feed Atom. Mas, exibindo o código fonte da página mostra o XML que o item de feed contém:

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns:x="http://schemas.microsoft.com/office/2008/07/excelservices/rest" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservice" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">SampleNamedRange</title>
  <id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')</id>
  <updated>2010-01-20T21:28:10Z</updated>
  <author>
    <name />
  </author>
  <link rel="self" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom" title="SampleNamedRange" />
  <category term="ExcelServices.Range" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
  <content type="application/xml">
    <x:range name="SampleNamedRange">
      <x:row>
        <x:c>
          <x:fv>Performance</x:fv>
        </x:c>
        <x:c>
          <x:v>26</x:v>
          <x:fv>26</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c>
          <x:fv>Employment</x:fv>
        </x:c>
        <x:c>
          <x:v>42</x:v>
          <x:fv>42</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c>
          <x:fv>Earnings And Job Quality</x:fv>
        </x:c>
        <x:c>
          <x:v>22</x:v>
          <x:fv>22</x:fv>
        </x:c>
        <x:c />
      </x:row>
    ... XML truncated for brevity. 
      <x:row>
        <x:c>
          <x:fv>Innovation Assets</x:fv>
        </x:c>
        <x:c>
          <x:v>43</x:v>
          <x:fv>43</x:fv>
        </x:c>
        <x:c />
      </x:row>
      <x:row>
        <x:c />
        <x:c>
          <x:fv>State</x:fv>
        </x:c>
        <x:c />
      </x:row>
    </x:range>
  </content>
</entry>

O item de feed contém XML que representa os dados dentro do intervalo. A seguir estão os elementos XML de interesse:

  • <range> O elemento de intervalo. Represents the container of the returned range.

  • <row> O elemento de linha. Represents each row in the range.

  • <c> O elemento da célula. Represents each cell in a row.

  • <fv> O elemento de valor formatado. Represents the value as it is formatted by Excel. Se o valor for do tipo cadeia no livro, o elemento de valor formatado é o único elemento em <c>.

  • <v> O elemento de valor. Represents a number value. If the value in the cell is a number instead of a string, the value element contains that information.

Usando o XML oferece uma maneira fácil de obter dados fora de um intervalo do Excel para que você pode usá-lo em seu aplicativo.

Acessando intervalos usando HTML

Se observar o URL para aceder a um intervalo com nome através do feed Atom, tenha em atenção que a parte final do URL contém um parâmetro chamado $format, que está definido como atom. Este parâmetro também pode assumir o valor de html. Se alterar o atom valor para html, o URL devolve um fragmento HTML em vez de um feed Atom. A seguir está um exemplo da URL:


http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=html

No Internet Explorer, a página é semelhante a figura a seguir.

Observação

[!OBSERVAçãO] Este HTML pode ser consumido diretamente em um IFRAMEou ele pode ser usado em JavaScript para criar uma experiência mais uniforme.

Excel Services REST Discovery Get Range Using HTML

Confira também

Conceitos

Recursos URI para a API REST de serviços do Excel