我在摆脱空字符串方面遇到了重大问题,以便从Google电子表格中填写Google表单的选项。脚本的其余部分工作得很好,但它不断向表单添加空选项(见图)。我已经尝试过下面的脚本,但它仍然无效。试图添加" undefined"作为" if"下的一个选项" ChoicesForQuestions"只给我一个答案,而不是电子表格中该行的其他答案。请帮我解决这个问题。
function CreateFormfromSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getDataRange();
var data = range.getValues();
var numberRows = range.getNumRows();
var numberColumns = range.getNumColumns();
var firstRow = 1;
var form = FormApp.create(data[0][1]);
form.setDescription(data[1][1]);
form.requiresLogin();
for(var i=0;i<numberRows;i++){
var questionType = data[i][0];
if (questionType==''){
continue;
}
else if(questionType=='CHOICE'){
var currentRow = firstRow+i;
var getSheetRange = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getLastColumn();
var lastColumnInRange = String.fromCharCode(64 + (getSheetRange));
var range_string = 'D' + currentRow + ":" + lastColumnInRange + currentRow;
var optionsArray = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(range_string).getValues();
var choicesForQuestion =[];
for (var j=0;j<optionsArray[0].length;j++){
if (optionsArray[j] !== null && optionsArray[j] !== "") {
choicesForQuestion.push(optionsArray[0][j]);
}
}
form.addMultipleChoiceItem()
.setTitle(data[i][1])
.setHelpText(data[i][2])
.setChoiceValues(choicesForQuestion)
.setRequired(true);
}
}
答案 0 :(得分:0)
Toni W在我的文字下面的评论中提到了这个问题。我需要在if语句中的[j]之前添加[0]。