javascript - Google Sheet API (JS):不写空白单元格
问题描述
不知道如何绕过空单元格...?它在空单元格上写“未定义”。
row[0] == "" 似乎不太好。
提前致谢。
function appendPre(message) {
var pre = document.getElementById('content');
var textContent = document.createTextNode(message + '\n'+'\n');
pre.appendChild(textContent);
}
function listMajors() {
gapi.client.sheets.spreadsheets.values.get({
spreadsheetId: '1gHFaUxQX3ZQ7-nJ7ikviLojgNa06xJjFR9LSYzjFsLY',
range: 'Feuille 1!A2:A99',
}).then(function(response) {
var range = response.result;
if (range.values.length > 0) {
for (i = 0 ; i < range.values.length; i++) {
var row = range.values[i];
while (row[0] == ""){
i++;
}
appendPre(row[0]);
}
}
else {
appendPre();
}
}, function(response) {
appendPre();
});
}
解决方案
问题:
- api 不返回空白。如果
A1:A3
被请求并且A2
为空,则返回的数组是[["A1"],[],["A3"]]
. 所以,row[0]
isundefined
和undefined
!==""。
解决方案:
在索引到它之前检查
row
它的长度if (row.length) appendPre(row[0]);
或者,预过滤值:
let values = range.values; values.filter(row=>row.length)