Kernkonzepte für Excel-Datentypen
In diesem Artikel wird beschrieben, wie Sie die Excel-JavaScript-API für die Arbeit mit Datentypen verwenden. Es werden Kernkonzepte vorgestellt, die für die Entwicklung von Datentypen von grundlegender Bedeutung sind.
Die valuesAsJson
-Eigenschaft
Die valuesAsJson
-Eigenschaft (oder der Singular valueAsJson
für NamedItem) ist integraler Bestandteil der Erstellung von Datentypen in Excel. Diese Eigenschaft ist eine Erweiterung der values
-Eigenschaften, z. B. Range.values. Sowohl die values
-Eigenschaft als auch die valuesAsJson
-Eigenschaft werden verwendet, um auf den Wert in einer Zelle zuzugreifen, aber die values
-Eigenschaft gibt nur einen der vier grundlegenden Typen zurück: Zeichenfolge, Zahl, boolescher Wert oder Fehler (als Zeichenfolge). Im Gegensatz dazu gibt valuesAsJson
erweiterte Informationen zu den vier grundlegenden Typen zurück, und diese Eigenschaft kann Datentypen wie formatierte Zahlenwerte, Entitäten und Webbilder zurückgeben.
Die folgenden Objekte bieten die valuesAsJson
-Eigenschaft.
-
NamedItem (als
valueAsJson
) - NamedItemArrayValues
- Range
- RangeView
- TableColumn
- TableRow
Hinweis
Einige Zellwerte ändern sich basierend auf dem Gebietsschema eines Benutzers. Die valuesAsJsonLocal
-Eigenschaft bietet Lokalisierungsunterstützung und ist für alle Objekte verfügbar, wie auch valuesAsJson
.
Zellwerte
Die valuesAsJson
Eigenschaft gibt einen CellValue-Typalias zurück, bei dem es sich um eine Vereinigung der folgenden Datentypen handelt.
- ArrayCellValue
- BooleanCellValue
- DoubleCellValue
- EmptyCellValue
- EntityCellValue
- ErrorCellValue
- FormattedNumberCellValue
- LinkedEntityCellValue
- ReferenceCellValue
- StringCellValue
- ValueTypeNotAvailableCellValue
- WebImageCellValue
Der Typalias CellValue
gibt auch das CellValueExtraProperties-Objekt zurück, das eine Schnittmenge mit dem Rest der *CellValue
-Typen ist. Es ist selbst kein Datentyp. Die Eigenschaften des CellValueExtraProperties
-Objekts werden mit allen Datentypen verwendet, um Details im Zusammenhang mit dem Überschreiben von Zellwerten anzugeben.
JSON-Schema
Jeder von valuesAsJson
zurückgegebene Zellwerttyp verwendet ein JSON-Metadatenschema, das für diesen Typ entworfen wurde. Zusammen mit zusätzlichen Eigenschaften, die für jeden Datentyp eindeutig sind, haben alle diese JSON-Metadatenschemas die Eigenschaften type
, basicType
und basicValue
gemeinsam.
Die type
definiert die CellValueType der Daten. ist basicType
immer schreibgeschützt und wird als Fallback verwendet, wenn der Datentyp nicht unterstützt oder falsch formatiert ist. Die basicValue
entspricht dem Wert, der von der values
-Eigenschaft zurückgegeben wird. Die basicValue
wird als Fallback verwendet, wenn Berechnungen auf inkompatible Szenarien stoßen, z. B. eine ältere Version von Excel, die das Datentypfeature nicht unterstützt. Ist basicValue
schreibgeschützt für ArrayCellValue
die Datentypen , EntityCellValue
, LinkedEntityCellValue
und WebImageCellValue
.
Zusätzlich zu den drei Feldern, die von allen Datentypen gemeinsam verwendet werden, verfügt das JSON-Metadatenschema für jedes *CellValue
über Eigenschaften, die entsprechend diesem Typ verfügbar sind. Beispielsweise enthält der WebImageCellValue-Typ die Eigenschaften altText
und attribution
, während der EntityCellValue-Typ die Felder properties
und text
anbietet.
In den folgenden Abschnitten werden JSON-Codebeispiele für den formatierten Zahlenwert, den Entitätswert, und die Webbilddatentypen gezeigt.
Formatierte Zahlenwerte
Mit dem FormattedNumberCellValue-Objekt können Excel-Add-Ins eine numberFormat
-Eigenschaft für einen Wert definieren. Einmal zugewiesen, durchläuft dieses Zahlenformat Berechnungen mit dem Wert und kann von Funktionen zurückgegeben werden.
Das folgende JSON-Codebeispiel zeigt das vollständige Schema eines formatierten Zahlenwerts. Der formatierte Zahlenwert myDate
im Codebeispiel wird in der Excel-Benutzeroberfläche als 16.01.1990 angezeigt. Wenn die Mindestkompatibilitätsanforderungen für das Datentypenfeature nicht erfüllt sind, verwenden Berechnungen den basicValue
anstelle der formatierten Zahl.
// This is an example of the complete JSON of a formatted number value.
// In this case, the number is formatted as a date.
const myDate: Excel.FormattedNumberCellValue = {
type: Excel.CellValueType.formattedNumber,
basicValue: 32889.0,
basicType: Excel.RangeValueType.double, // A read-only property. Used as a fallback in incompatible scenarios.
numberFormat: "m/d/yyyy"
};
Beginnen Sie mit dem Experimentieren mit formatierten Zahlenwerten, indem Sie die Skriptumgebung öffnen und den Codeausschnitt Datentypen: Formatierte Zahlen in unserer Bibliothek Beispiele anzeigen.
Entitätswerte
Ein Entitätswert ist ein Container für Datentypen, ähnlich wie ein Objekt in der objektorientierten Programmierung. Entitäten unterstützen Arrays auch als Eigenschaften eines Entitätswerts. Mit dem EntityCellValue-Objekt können Add-Ins Eigenschaften wie type
, text
und properties
definieren. Die properties
-Eigenschaft ermöglicht es dem Entitätswert, zusätzliche Datentypen zu definieren und zu enthalten.
Die basicType
- und basicValue
-Eigenschaften definieren, wie Berechnungen diesen Entitätsdatentyp lesen, wenn die Mindestkompatibilitätsanforderungen für die Verwendung von Datentypen nicht erfüllt sind. In diesem Szenario wird dieser Entitätsdatentyp auf der Excel-Benutzeroberfläche als #VALUE! -Fehler angezeigt.
Das folgende JSON-Codebeispiel zeigt das vollständige Schema eines Entitätswerts, der Text, ein Bild, ein Datum und einen zusätzlichen Textwert enthält.
// This is an example of the complete JSON for an entity value.
// The entity contains text and properties which contain an image, a date, and another text value.
const myEntity: Excel.EntityCellValue = {
type: Excel.CellValueType.entity,
text: "A llama",
properties: {
image: myImage,
"start date": myDate,
"quote": {
type: Excel.CellValueType.string,
basicValue: "I love llamas."
}
},
basicType: Excel.RangeValueType.error, // A read-only property. Used as a fallback in incompatible scenarios.
basicValue: "#VALUE!" // A read-only property. Used as a fallback in incompatible scenarios.
};
Entitätswerte bieten auch eine layouts
-Eigenschaft, die eine Karte für die Entität erstellt. Die Karte wird in der Excel-Benutzeroberfläche als modales Fenster angezeigt und kann zusätzliche Informationen anzeigen, die im Entitätswert enthalten sind, über das hinaus, was in der Zelle sichtbar ist. Weitere Informationen finden Sie unter Verwenden von Karten mit Entitätswertdatentypen.
Um Entitätsdatentypen zu untersuchen, wechseln Sie zunächst zu Skript-Lab in Excel, und öffnen Sie die Option Datentypen: Erstellen von Entitätskarten aus Daten in einem Tabellenausschnitt in unserer Beispielbibliothek . Die Codeausschnitte Datentypen: Entitätswerte mit Verweisen und Datentypen: Entitätswertzuordnungseigenschaften bieten einen tieferen Einblick in Entitätsfeatures.
Verknüpfte Entitäten
Verknüpfte Entitätswerte oder LinkedEntityCellValue-Objekte sind ein Entitätswerttyp. Diese Objekte integrieren Daten, die von einem externen Dienst bereitgestellt werden, und können diese Daten wie normale Entitätswerte als Entitätskarte anzeigen. Die über die Excel-Benutzeroberfläche verfügbaren Datentypen „Aktien“ und „Geographie“ sind verknüpfte Entitätswerte.
Webbildwerte
Das WebImageCellValue -Objekt erstellt die Möglichkeit, ein Bild als Teil einer Entität oder als unabhängigen Wert in einem Bereich zu speichern. Dieses Objekt bietet viele Eigenschaften, einschließlich address
, altText
, und relatedImagesAddress
.
Die basicType
- und basicValue
-Eigenschaften definieren, wie Berechnungen den Webbilddatentyp lesen, wenn die Mindestkompatibilitätsanforderungen für die Verwendung des Datentypenfeatures nicht erfüllt sind. In diesem Szenario wird dieser Webbilddatentyp als #VALUE!- Fehler auf der Excel-Benutzeroberfläche angezeigt.
Das folgende JSON-Codebeispiel zeigt das vollständige Schema eines Webbilds.
// This is an example of the complete JSON for a web image.
const myImage: Excel.WebImageCellValue = {
type: Excel.CellValueType.webImage,
address: "https://bit.ly/2YGOwtw",
basicType: Excel.RangeValueType.error, // A read-only property. Used as a fallback in incompatible scenarios.
basicValue: "#VALUE!" // A read-only property. Used as a fallback in incompatible scenarios.
};
Testen Sie Webbilddatentypen, indem Sie skriptbasiertes Lab öffnen und den Ausschnitt Datentypen: Webbilder in unserer Bibliothek Beispiele auswählen.
Verbesserte Fehlerunterstützung
Die Datentyp-APIs machen vorhandene Excel-Benutzeroberflächenfehler als Objekte verfügbar. Da auf diese Fehler als Objekte zugegriffen werden kann, können Add-Ins Eigenschaften wie type
, errorType
, und errorSubType
abrufen.
Im Folgenden finden Sie eine Liste aller Fehlerobjekte mit erweiterter Unterstützung durch Datentypen.
- BlockedErrorCellValue
- BusyErrorCellValue
- CalcErrorCellValue
- ConnectErrorCellValue
- Div0ErrorCellValue
- FieldErrorCellValue
- GettingDataErrorCellValue
- NotAvailableErrorCellValue
- NameErrorCellValue
- NullErrorCellValue
- NumErrorCellValue
- RefErrorCellValue
- SpillErrorCellValue
- ValueErrorCellValue
Jedes der Fehlerobjekte kann über die errorSubType
-Eigenschaft auf eine Enumeration zugreifen, und diese Enumeration enthält zusätzliche Daten zum Fehler. Beispielsweise kann das BlockedErrorCellValue
-Fehlerobjekt auf die BlockedErrorCellValueSubType-Enumeration zugreifen. Die BlockedErrorCellValueSubType
-Enumeration enthält zusätzliche Daten darüber, was den Fehler verursacht hat.
Weitere Informationen zu den Datentypfehlerobjekten finden Sie im Codeausschnitt Datentypen: Fehlerwerte festlegen in unserer Bibliothek Skriptlabbeispiele.
Nächste Schritte
Erfahren Sie im Artikel Verwenden von Karten mit Entitätswert-Datentypen , wie Sie das Potenzial von Excel-Add-Ins über ein zweidimensionales Raster hinaus erweitern.
Verwenden Sie das Beispiel Erstellen und Untersuchen von Datentypen in Excel in unserem OfficeDev/Office-Add-in-samples-Repository , um tiefer mit Datentypen zu experimentieren, indem Sie ein Add-In erstellen und querladen, das Datentypen in einer Arbeitsmappe erstellt und bearbeitet.
Weitere Informationen
Office Add-ins