我想使用看似{ "A1:B2": [["01", "02"], ["03", "04"]], "C5": [[4]] }
的JavaScript对象启动工作表,我有以下代码:
function sheetIni(data) {
return Excel.run(function (ctx) {
var sheet = ctx.workbook.worksheets.getActiveWorksheet();
for (var key in data) {
if (data.hasOwnProperty(key)) {
var range = sheet.getRange(key);
range.values = newData;
};
}
return ctx.sync().then(function () {
console.log("done")
})
})
};
我意识到工作表中的结果分别是1
中的2
,3
,4
,A1
,{{1} },B1
,A2
;它会自动将字符串转换为数字(例如,B2
到"02"
)。
有谁知道如何避免这种自动转换?
一般情况下,我如何确保可以忠实地将javascript值分配给单元格值而无需额外转换?
答案 0 :(得分:3)
将数据分配给任意单元格时,最安全的做法是首先设置数字格式,然后设置值。
对于文本字符串,“@”数字格式用作声明“我希望此单元格包含文本字符串,即使它以数字形式出现”的方式。它与用户手动将值输入Excel中相同。
供将来参考:如果您想要恢复正常工作的代码段,最简单的方法是首先使用Script Lab 创建和共享代码段并在其中共享指向它的链接这个问题。这样,像我这样的人很容易导入代码,进行快速调整,并向您发送最终片段。