将数据导出到另一个Google表格并将其用作数据库

时间:2015-10-02 05:45:37

标签: google-sheets

希望你做得很好!

我制作了一个代码,用于从" sheet1"到" sheet2"扭曲相同的电子表格,但是如何将数据发送到另一个工作簿呢?我正在编写下面的代码供您参考。如果你能帮助我,我将不胜感激。

以下代码无法正常工作并给我错误(目标范围和来源范围必须在同一个电子表格中): -

  function ALFA() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
 'var ss2 =  SpreadsheetApp.openById("1E3CWWohirN4DD_f_23WWBElYrhqnAs_27crrxowFjFA");
  var sheetTwo = ss2.getSheetByName("Sheet1");
  var sheetOne = ss.getSheetByName("KEY WORK");
  var sheetThree = ss.getSheetByName("DATABASE");
  var data = sheetOne.getDataRange().getValues();
  var columnCount = data[0].length
  var firstCol = sheetOne.getRange("E2:E50");
  var matchValue = "LIVE";
  var Discon = "DISCONTINUED";
  var j = sheetTwo.getLastRow() + 1;
  var he = "1";

  for (var i = 0; i < firstCol.getValues().length; ++i) 
  {
    if (firstCol.getValues()[i][0] === matchValue || firstCol.getValues()[i][0] === Discon) 
 {
  sheetOne.getRange(i+2,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount),        
  {contentsOnly:true});
  sheetTwo.getRange(j,6,1,1).setValue(he);
  sheetOne.deleteRow(i+2);
  i = i - 1;
  j = j + 1;
}
}

}

非常感谢您的帮助。谢谢!

spreadSheet A(来源表): -

  NAME      roll number     class     section    Status
 ------    -------------   -------    -------    -------
 Shallu         21           12          A         QC
 rahulo         21           11          B         LIVE
 beta12         21           11          A         QC
 alfa12         21           12          C         DISCONTINUE
 rotate         21           10          A         QC
 SHUBHAM        21           12          B         QC

展开表B(目标表)中的预期结果

 rahulo         21           11          B         LIVE
 alfa12         21           12          C         DISCONTINUE

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题,但主要问题是您尝试同时拥有2个有效的电子表格(您只能拥有一个)。

我尝试重写你的功能,而我的dummy spreadsheet就可以了。如果您遇到问题,请向我们提供有关您尝试复制的内容和方式的更多信息,我们可以为您提供更多帮助。

{{1}}