如何在Office Script中将一维数组粘贴到单元格区域?
解决Office Script中setValues的二维数组要求问题
你遇到的错误是因为ExcelScript的setValues方法必须接收二维数组——外层数组对应单元格区域的行,内层数组对应每行的单元格值。你的一维数组[201,106,95]不符合这个格式,所以触发了参数错误。
修改代码很简单,只需要把一维数组转换成每行一个元素的二维数组就行,推荐用map方法动态转换,不用手动写嵌套数组:
function main(workbook: ExcelScript.Workbook) { const arr: number[] = [201, 106, 95]; let destRange = workbook.getActiveWorksheet().getRange("A1:A3"); // 把一维数组转成二维数组:每个元素单独成一个子数组 destRange.setValues(arr.map(num => [num])); }
如果你的目标区域是横向的(比如A1:C1),只需要把一维数组包裹在一个外层数组里就行:destRange.setValues([arr]);
内容的提问来源于stack exchange,提问作者Rasec Malkic
相关产品推荐
相关产品推荐

