【发布时间】:2019-08-03 21:28:12
【问题描述】:
目前我只能阅读电子表格的第一张表(“常规”),我的电子表格包含以下表格“常规”、“错误”和“Sheet3”。
目前我已设法将所有可用的工作表名称保存到数组“pages”中,然后检查“Pages”中是否有值,如果有,则删除位置 0 处的值并将其返回(“ General”表)并将其余索引处的值向下移动,然后我检查返回的页面是否等于“General”表,如果是这样,则读取了通用表,但是一旦读取了通用表,我想成为能够使用相同的功能阅读其余的工作表。
所以我想要实现的是调用 readPages() 函数并让它读取我的电子表格中的所有工作表。
function readPages(sheets, spreadsheetId, pages) {
if (pages.length) {
var page = pages.shift();
if (page === "General") {
//read general
sheets.spreadsheets.values.get(
{
spreadsheetId: spreadsheetId,
range: "General"
},
(err, res) => {
var values = null;
if (err) {
console.log("Problem reading" + page);
} else {
console.log("reading " + page);
values = res.data.values;
values = readGeneralSheet(values);
}
}
);
} else {
//read rest of the sheets
sheets.spreadsheets.values.get(
{
spreadsheetId: spreadsheetId,
range: page
},
(err, res) => {
var values = null;
if (err) {
console.log("Problem reading" + page);
} else {
console.log("reading other sheet " + page);
values = res.data.values;
values = readGeneralSheet(values);
values = readSheet(values, res.data.values);
}
}
);
}
} else {
//finish
console.log("no more pages to read");
}
}
【问题讨论】:
-
我为我糟糕的英语水平道歉。我想正确理解你的问题。那么我可以问一下你的目标
read all the sheets in a spreadsheet individually吗?通过了解它,我认为我可能能够想到解决方案。 -
当然!所以我想要 readPages() 函数实现的是首先检查“pages”数组中是否有任何值,然后删除数组中的第一个值并检查该值是否等于“General”,如果该值等于“General”,那么我想调用 readGeneralSheet() 函数。阅读“常规”工作表后,我想逐一遍历留在“页面”数组中的剩余工作表。对不起,如果我的解释不清楚,但我希望它有所帮助!
-
感谢您的回复。根据您的回复,我提出了一个修改后的脚本作为答案。你能确认一下吗?首先,请检查我对您的问题的理解是否正确。如果我误解了您的问题并且这不是您想要的结果,我深表歉意。那时,你能帮我理解你的目标吗?通过这个,我想修改脚本。
标签: javascript node.js google-sheets google-sheets-api