使用GAS教程中的函数解析.csv后,范围大小不正确

时间:2014-02-24 19:22:37

标签: google-apps-script google-spreadsheet-api

我正在使用此问题的csvToArray()压缩版本并回答将所有行作为单个数组写入电子表格中的范围:
Access, parse, and write .csv data - google apps script

我的问题是,在解析了我的数据之后,我最终得到了数组中最后一行“空”的空数组,并且它导致错误抛出setValues行:

    sheet.getRange(1,1,arrData.length,arrData[0].length).setValues(arrData);` 

我得到的错误是“不正确的范围大小,是1,但应该是4.我通过查看调试器将其缩小到最后一行”,调试器显示集合中的最后一个数组为as [ “”]。

我试图用:解析arrData:

    for (row in arrData){if(arrData[row] !=""){return(arrData[row])}}

和其他类似的方法(对于if,while等),但如果行为空,则无法弄清楚如何停止向arrData添加值。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我在调用csvToArray()之后在行中添加了这段代码,但我想在csvToArray()函数中返回arrData之前添加它的变体同样有效: / p>

  var csvAdd = [];
  for (var row in csvData){
    if (csvData[row] != ''){
      csvAdd.push(csvData[row]);
    }

  }
  Logger.log(csvAdd);
  cisSheet.getRange(1,1,csvAdd.length,csvAdd[0].length).setValues(csvAdd);

如果其他人在将来遇到类似的问题,请留下这个问题。