问题描述
我正在使用 office.js 进行新开发,我想知道是否有办法将序列号(日期值)转换为使用 Excel Javascript API 格式化的日期。
/*
* @customfunction
* @param {number} first
* @param {number} second
* @param {string} third
* @returns {number[][]}
*/
function GETDADOS(first,second,third) {
var promise = new Promise(function(resolve){
$.ajax({
...
//HTTP requisition
...
}
});
})
return promise.then(function(result){
var data = result
var resp = JSON.parse(data)
return resp
})
})
};
这为我提供了这个输出:
[[44225,1.8541],[44232,1.874],[44239,1.94]]
第一列是要转换的日期值。
前:美国 35062 -> 12/29/2021,英国 35062 -> 29/12/2021
我是这么看的,但我觉得有点困惑:
convert date serial number to date using javascript
解决方法
您可以使用 Excel JavaScript API 调用内置的 Excel 工作表函数 TEXT。
await Excel.run(async (context) => {
var res = context.workbook.functions.text(44225,"mm/dd/yy");
res.load("value");
await context.sync();
console.log(res.value); // "01/29/21"
});
请注意,要从您的自定义函数调用 Excel JavaScript API,您需要使用共享的 JavaScript 运行时。有关详情,请参阅 Configure your Office Add-in to use a shared JavaScript runtime。