如何从Google Sheet Column获取值

时间:2018-01-08 14:14:12

标签: javascript google-apps-script google-sheets google-form

我有以下的Apps脚本,这几乎是我正在寻找的。它正在做的是从Google表格中获取项目列表,以使用项目列表填充Google表单多项选择题。但是,它包括所有100行,而不仅仅是包含值的行。

我缺少什么以确保它只包含具有len>的单元格。 1?

function getWorkbookNames(){
  var form = FormApp.getActiveForm();
  var items = form.getItems();

  var ss = SpreadsheetApp.openByUrl(
     'spreadsheetnamestringhere');
    var sheet = ss.getSheetByName('Unique Databases');
  var sheetValues = sheet.getRange("A2:A").getValues();
    var values = sheetValues.slice(1);

 var names = [];

  for(var p = 0; p < values.length; p++){
    names.push(values[p][0])
  }

  var pValues = items[8].asListItem();
  pValues.setChoiceValues(names).setRequired(true)

  var areas = [];
  for (var i = 0; i < values.length; i++) {
      areas.push(values[i][1])
    }
}

非常感谢您提供的所有帮助/建议。

1 个答案:

答案 0 :(得分:1)

通过添加另一个过滤层来解决:

function getWorkbookNames() {
    var form = FormApp.getActiveForm();
    var items = form.getItems();

    var ss = SpreadsheetApp.openByUrl(
        'spreadsheetnamestringhere');
    var sheet = ss.getSheetByName('Unique Databases');
    var sheetValues = sheet.getRange("A2:A").getValues();
    var filterValues = sheetValues.filter(String);
    var values = filterValues.slice(1);

    var names = [];

    for (var p = 0; p < values.length; p++) {
        names.push(values[p][0])
    }

    var pValues = items[8].asListItem();
    pValues.setChoiceValues(names).setRequired(true)

    var areas = [];
    for (var i = 0; i < values.length; i++) {
        areas.push(values[i][1])
    }
}