Zugreifen auf Bereiche mithilfe von ATOM-Feeds und HTML-Fragmenten
Letzte Änderung: Mittwoch, 14. April 2010
Gilt für: SharePoint Server 2010
In diesem Thema werden die beiden Mechanismen ATOM-Feeds und HTML-Fragmente für den Zugriff auf Bereiche mithilfe der REST-API in Excel Services beschrieben.
Zugreifen auf Bereiche
Die REST-API in Excel Services unterstützt zwei Mechanismen für den Zugriff auf Bereiche. Mit dem ersten Mechanismus können Anwendungen in erster Linie auf die Rohdaten einer Arbeitsmappe zugreifen, d. h., die Rohzahlen oder -werte in einem Arbeitsblatt. Mit dem zweiten Mechanismus kann in einem Browser auf HTML-Fragmente zugegriffen werden.
Wie im Thema Ermittlung in der Excel Services-REST-API beschrieben lautet die REST-URL zur Modellseite bei Verwendung der Ermittlung wie folgt:
http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/model
Für eine Arbeitsmappe mit dem Dateinamen sampleWorkbook.xlsx, die im Ordner http://<ServerName>/Docs/Documents/sampleWorkbook.xlsx gespeichert ist, lautet der URI zur Modellseite wie folgt:
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model
Wenn Sie bei dem in Ermittlung in der Excel Services-REST-API beschriebenen Ermittlungsmechanismus in der Modellseite auf dem Server auf den ATOM-Feed Ranges klicken (http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model), wird eine Seite mit allen benannten Bereichen in der Arbeitsmappe angezeigt. sampleWorkbook.xlsx enthält wie im folgenden Bildschirmfoto dargestellt den benannten Bereich SampleNamedRange:
![]() |
---|
Sie können nicht nur die von der Ermittlung zurückgegebenen Bereiche, sondern auch beliebige Bereiche angeben. Ein Doppelpunkt (":") muss durch "|" ersetzt werden. Verwenden Sie z. B. "A1|G5" anstelle von "A1:G5". |
![]() |
---|
Zeichen wie "?" und "#" werden nicht unterstützt. Um ordnungsgemäß auf Blattnamen zu verweisen, die Sonderzeichen enthalten, gilt die Grundregel "Feststellen, was der Excel-Client macht", wenn Sie in einer Formel auf ein Blatt mit Sonderzeichen verweisen, und diesem Beispiel folgen. |
Ermittlung benannter Excel Services REST-Bereiche
Zugreifen auf Bereiche mithilfe eines ATOM-Feeds
Wenn Sie auf der Bereichsermittlungsseite auf SampleNamedRange klicken, navigieren Sie zur folgenden URL:
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom
Beachten Sie, dass wie im folgenden Bildschirmfoto dargestellt die resultierende Seite in Internet Explorer fehlerhaft aussieht.
Ermittlung von Excel Services REST-Bereichen mithilfe von ATOM
In Internet Explorer kann ein ATOM-Feedelement mit einem einzelnen Eintrag nicht angezeigt werden. Beim Anzeigen des Quellcodes der Seite ist jedoch das XML des Feedelements sichtbar:
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns:x="https://schemas.microsoft.com/office/2008/07/excelservices/rest" xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservice" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text">SampleNamedRange</title>
<id>https://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="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=atom" title="SampleNamedRange" />
<category term="ExcelServices.Range" scheme="https://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>
Das Feedelement enthält XML für die Daten innerhalb des Bereichs. Die folgenden XML-Elemente sind interessant:
<range> Das Bereichselement. Stellt den Container des zurückgegebenen Bereichs dar.
<row> Das Zeilenelement. Stellt die einzelnen Zeilen im Bereich dar.
<c> Das Zellenelement. Stellt die einzelnen Zellen in einer Zeile dar.
<fv> Das Element für den formatierten Wert. Stellt den von Excel formatierten Wert dar. Wenn dieser Wert in der Arbeitsmappe vom Typ String ist, ist das Element für den formatierten Wert das einzige Element in <c>.
<v> Das Wertelement. Stellt einen Zahlenwert dar. Wenn der Wert in der Zelle keine Zeichenfolge, sondern eine Zahl ist, enthält das Wertelement diese Information.
Die Verwendung von XML stellt eine einfachere Möglichkeit für den Zugriff auf Daten in einem Excel-Bereich dar. Sie können diese Methode deshalb in Ihrer Anwendung verwenden.
Zugreifen auf Bereiche mithilfe von HTML
Der letzte Teil der URL für den Zugriff auf einen benannten Bereich mithilfe eines ATOM-Feeds enthält den Parameter $format, der auf atom festgelegt ist. Dieser Parameter kann auch den Wert html aufweisen. Wenn Sie den atom in html ändern, gibt die URL ein HTML-Fragment anstelle eines ATOM-Feeds zurück. Es folgt ein Beispiel für die URL:
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Ranges('SampleNamedRange')?$format=html
In Internet Explorer sieht die Seite ähnlich wie in der folgenden Abbildung aus.
![]() |
---|
Dieser HTML-Code kann in einem IFRAME-Element direkt verwendet werden. Sie können ihn aber auch in ECMAScript (JavaScript, JScript) verwenden, um ein nahtloses Arbeiten zu ermöglichen. |