Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan ejemplos de código que muestran cómo trabajar con fechas mediante la API de JavaScript de Excel y el complemento Moment-MSDate. Para obtener la lista completa de propiedades y métodos que admite el Range
objeto, vea la clase Excel.Range.
Nota:
La API de JavaScript para Excel no tiene un objeto o clase de "Celda". En su lugar, se definen todas las celdas de Excel como objetos Range
. Una celda individual en la interfaz de usuario de Excel se traduce en un objeto Range
con una celda en la API de JavaScript para Excel. Un solo objeto Range
también puede contener varias celdas contiguas. Consulte Trabajar con celdas mediante la API de JavaScript para Excel para obtener más información.
Uso del complemento Moment-MSDate para trabajar con fechas
La biblioteca de JavaScript Moment proporciona una forma cómoda para usar fechas y marcas de tiempo. El complemento Moment-MSDate convierte el formato de momentos en uno preferible para Excel. Este es el mismo formato que la función NOW devuelve.
En el código siguiente se muestra cómo establecer el intervalo en B4 en la marca de tiempo de un momento.
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();
});
En el ejemplo de código siguiente se muestra una técnica similar para obtener la fecha de vuelta de la celda y convertirla a un Moment
formato u otro.
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}`);
});
El complemento tiene que dar formato a los intervalos para mostrar las fechas en un formato más legible para el usuario. Por ejemplo, "[$-409]m/d/yy h:mm AM/PM;@"
muestra "12/3/18 3:57 PM". Para obtener más información sobre los formatos de número de fecha y hora, vea "Directrices para formatos de fecha y hora" en el artículo Directrices de revisión para personalizar un formato de número .