Freigeben über


Arbeiten mit Datumsangaben mithilfe der Excel-JavaScript-API und des Moment-MSDate-Plug-Ins

Dieser Artikel enthält Codebeispiele, die zeigen, wie Sie mit Datumsangaben mithilfe der Excel-JavaScript-API und des Moment-MSDate-Plug-Ins arbeiten. Eine vollständige Liste der Eigenschaften und Methoden, die das Range Objekt unterstützt, finden Sie in der Excel.Range-Klasse.

Hinweis

Die Excel-JavaScript-API beinhaltet keine auf „Zellen“ bezogenen Objekte oder Klassen. Stattdessen definiert die Excel-JavaScript-API alle Excel-Zellen als Objekte Range. Eine einzelne Zelle in der Excel-Benutzeroberfläche wird in ein Objekt Range mit einer Zelle der Excel-JavaScript-API übersetzt. Ein einzelnes Objekt Range kann auch mehrere zusammenhängende Zellen beinhalten. Weitere Informationen finden Sie unter Arbeiten mit Zellen mithilfe der Excel-JavaScript-API.

Verwenden des Moment-MSDate-Plug-Ins zum Arbeiten mit Datumsangaben

Die Moment JavaScript-Bibliothek bietet eine bequeme Möglichkeit zum Verwenden von Datums- und Zeitstempeln. Das Moment-MSDate-Plug-In konvertiert das Format von Momenten in ein für Excel besser geeignetes Format. Dies entspricht dem Format, das die NOW-Funktion zurückgibt.

Der folgende Code zeigt, wie der Bereich bei B4 auf den Zeitstempel eines Augenblicks festgelegt wird.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let now = Date.now();
    let nowMoment = moment(now);
    let nowMS = nowMoment.toOADate();

    let dateRange = sheet.getRange("B4");
    dateRange.values = [[nowMS]];

    dateRange.numberFormat = [["[$-409]m/d/yy h:mm AM/PM;@"]];

    await context.sync();
});

Im folgenden Codebeispiel wird ein ähnliches Verfahren veranschaulicht, um das Datum aus der Zelle zurückzuholen und in ein oder ein Moment anderes Format zu konvertieren.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let dateRange = sheet.getRange("B4");
    dateRange.load("values");

    await context.sync();

    let nowMS = dateRange.values[0][0];

    // Log the date as a moment.
    let nowMoment = moment.fromOADate(nowMS);
    console.log(`get (moment): ${JSON.stringify(nowMoment)}`);

    // Log the date as a UNIX-style timestamp.
    let now = nowMoment.unix();
    console.log(`get (timestamp): ${now}`);
});

Ihr Add-In muss die Bereiche so formatieren, dass die Datumsangaben in einer besser lesbaren Form angezeigt werden. Zeigt beispielsweise "[$-409]m/d/yy h:mm AM/PM;@" "3.12.18 15:57 Uhr" an. Weitere Informationen zu Datums- und Uhrzeitzahlenformaten finden Sie unter Richtlinien für Datums- und Uhrzeitformate im Artikel Überprüfen von Richtlinien zum Anpassen eines Zahlenformats .

Siehe auch