在 Office 脚本中获取数组中元素的值
Getting value of an element in an array in Office Scripts
我一直在努力使一个变量等于数组中特定元素的值,我希望有人能提出建议。在这种情况下,我试图获取单元格 E5 中的值
async function main(context: Excel.RequestContext){
let workbook = context.workbook;
let worksheets = workbook.worksheets;
let sheet1 = worksheets.getItem("Sheet1");
var currentMonth = 1
var months = sheet1.getRange("E5:AD5");
months.load("values")
await context.sync();
monthValue = months[1][currentMonth].value
console.log(monthValue.values)
}
如有任何帮助,我们将不胜感激!
tl;dr
将 months[1][currentMonth].value
更改为 months.values[0][currentMonth]
。
详情
这里有两个问题。首先是要访问加载的值,您需要编写 months.values
,如下所示:https://docs.microsoft.com/en-us/office/dev/add-ins/excel/excel-add-ins-ranges#get-values-text-or-formulas
第二个是 getRange("E5:AD5")
,您将获得一行值。 months.values
因此将以数组(行)的形式保存值,该数组(行)包含一个包含值的数组(列)。类似于:
[
["cell E5", "cell F5", "cell G5", ...]
]
所以一行,很多列。
但是通过执行 months[1]
,您正在尝试访问此集合的 second 行。第一行是months[0]
.
列也一样,第一列是索引0
。所以你组的第一个单元格的值为 months.values[0][0]
.
我一直在努力使一个变量等于数组中特定元素的值,我希望有人能提出建议。在这种情况下,我试图获取单元格 E5 中的值
async function main(context: Excel.RequestContext){
let workbook = context.workbook;
let worksheets = workbook.worksheets;
let sheet1 = worksheets.getItem("Sheet1");
var currentMonth = 1
var months = sheet1.getRange("E5:AD5");
months.load("values")
await context.sync();
monthValue = months[1][currentMonth].value
console.log(monthValue.values)
}
如有任何帮助,我们将不胜感激!
tl;dr
将 months[1][currentMonth].value
更改为 months.values[0][currentMonth]
。
详情
这里有两个问题。首先是要访问加载的值,您需要编写 months.values
,如下所示:https://docs.microsoft.com/en-us/office/dev/add-ins/excel/excel-add-ins-ranges#get-values-text-or-formulas
第二个是 getRange("E5:AD5")
,您将获得一行值。 months.values
因此将以数组(行)的形式保存值,该数组(行)包含一个包含值的数组(列)。类似于:
[
["cell E5", "cell F5", "cell G5", ...]
]
所以一行,很多列。
但是通过执行 months[1]
,您正在尝试访问此集合的 second 行。第一行是months[0]
.
列也一样,第一列是索引0
。所以你组的第一个单元格的值为 months.values[0][0]
.