Google表格作为数据库

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (115)

我正在尝试在Google工作表中的工作表上输入一些数据创建一个按钮,将数据提交到另一个工作表。另一张表就像我的数据库。

我几乎没有JS经验。我能够创建按钮并将其链接到我的脚本但在此之后,我迷路了。此代码适用于将数据传输到我的数据库表。问题是数据保持在同一行,当我运行脚本时,旧数据被删除。

function transfer() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheets()[0];
  var destination = ss.getSheets()[1];

  var range1 = source.getRange("B2");
   range2.copyValuesToRange(destination,3,3,2,2);
    range2.clearContent();

   var range2 = source.getRange("C2");
    range2.copyValuesToRange(destination,4,4,2,2); 
     range2.clearContent();

   var range3 = source.getRange("D2");
    range3.copyValuesToRange(destination,5,5,2,2);
     range3.clearContent();

   var range4 = source.getRange("C2");
    range4.copyValuesToRange(destination,4,4,2,2); 
     range4.clearContent();


  }

另一个问题是我不希望单元格为空,所以我尝试设置警报。

var range1 = source.getRange("A2");
 range1.copyValuesToRange(destination,2,2,2,2);
  if (range1 ==!"");
   Browser.msgBox("Please Enter A Date");

它提示了msg框,但仍然复制了数据。

最后我希望range1像一个唯一的ID。因此,如果我在源表上的A2中放置一个值,那么它将自动填充其他单元格。

求助谢谢

提问于
用户回答回答于

我建议您花更多时间阅读文档。就个人而言,我从未考虑过将按钮直接放在电子表格上。我宁愿使用菜单或对话框或侧边栏。此外,您通常会获得很多性能,以便在适当的情况下将getValue()替换为getValues()。

但这是解决您工作问题的另一种方法。也许它会给人一些思考。玩得开心。你的按钮看起来不错。非常好的工作。

function onOpen(){//This will put a post button on a menu
  SpreadsheetApp.getUi().createMenu('My Menu')
  .addItem('Post Data', 'postData')
  .addToUi();
}

function postData() {//this will append data fromm 'DataEntry' to 'DB' with a timestamp spliced into it.
  var ss=SpreadsheetApp.getActive();
  var sh1=ss.getSheetByName('DataEntry');
  var sh2=ss.getSheetByName('DB');
  var rg1=sh1.getRange(sh1.getLastRow(),1,1,sh1.getLastColumn());
  var vA=rg1.getValues();
  vA[0].splice(0,0,Utilities.formatDate(new Date(),Session.getScriptTimeZone(),"E MMM dd, yyyy HH:mm:ss"));
  sh2.appendRow(vA[0]);
}

这是我的DateEntry选项卡的样子:

这是我的数据库选项卡的样子:

该帖子只是将DataEntry中的最后一行添加到DB中最后一行之后的行。

所属标签

可能回答问题的人

  • uncle_light

    5 粉丝518 提问8 回答
  • 嗨喽你好

    7 粉丝480 提问8 回答
  • 人生的旅途

    10 粉丝484 提问7 回答
  • 无聊至极

    4 粉丝504 提问6 回答

扫码关注云+社区

领取腾讯云代金券