Firebase 如何自动将数据从一个google工作表移动到另一个

Firebase 如何自动将数据从一个google工作表移动到另一个,firebase,google-apps-script,firebase-realtime-database,google-sheets,content-management-system,Firebase,Google Apps Script,Firebase Realtime Database,Google Sheets,Content Management System,我正在尝试将Google sheets中的值发送到Firebase,以便数据表自动更新。为此,我使用了GoogleDriveCMS,它完美地将数据导出到Firebase。问题是我从网站上刮取数据。例如,我通过使用importXML获得一个数据列表: =IMPORTXML("https://www.congress.gov/search?q=%7B%22source%22%3A%22legislation%22%7D", "//li[@class='expanded']/span[@class='

我正在尝试将Google sheets中的值发送到Firebase,以便数据表自动更新。为此,我使用了GoogleDriveCMS,它完美地将数据导出到Firebase。问题是我从网站上刮取数据。例如,我通过使用importXML获得一个数据列表:

=IMPORTXML("https://www.congress.gov/search?q=%7B%22source%22%3A%22legislation%22%7D", "//li[@class='expanded']/span[@class='result-heading']/a[1]")
CMS似乎没有得到这个公式得出的值,但得到了导致错误的实际公式。我解决这个问题的方法是创建一个包含公式的新选项卡,并将CMS选项卡仅保留该值。我一直在手动复制和粘贴,但想使该过程自动化。我找不到任何帮助来创建一个脚本,该脚本从一个选项卡中获取公式的值,并将这些值放在不同的工作表中

以下是一些图片供参考:


*我将蓝色突出显示在我所指的谷歌表单单元格上,firebase的数据显示了导出的第一行数据。

这个示例脚本怎么样?请把这当作几个答案之一。此脚本的流程如下所示。使用此脚本时,请复制并粘贴它,然后运行
sample()

流量:
  • 输入活动工作表的源范围
  • 检索源范围
  • 输入目标电子表格的目标范围
  • 检索目标工作表的目标范围
  • 将数据从源范围复制到目标范围。
    • 复制包含值、公式和格式的数据
  • 示例脚本: 如果我误解了你的问题,我很抱歉

    编辑: 此示例脚本将源电子表格的值复制到目标电子表格

    function sample() {
      // Source
      var range = "a1:b5"; // Source range
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var srcrange = ss.getActiveSheet().getRange(range);
    
      // Destination
      var range = "c1:d5"; // Destination range,
      var dstid = "### file id ###"; // Destination spreadsheet ID
      var dst = "### sheet name ###"; // Destination sheet name
      var dstrange = SpreadsheetApp.openById(dstid).getSheetByName(dst).getRange(range);
    
      var dstSS = dstrange.getSheet().getParent();
      var sourceValues = srcrange.getValues();
      dstrange.setValues(sourceValues);
    }
    

    将数据从源范围复制到目标范围时,是否仅显示公式的值,还是复制公式本身?我遇到的问题是只获取值的结果而不显示公式本身。@PGODULTIMATE此示例脚本复制源范围中的值和公式。如果只想检索公式,我想更新示例脚本。只从公式中检索值。目标中应该没有公式,只有文本。@PGODULTIMATE给您带来的不便,我深表歉意。我更新了我的答案。请确认。是的,这个更新版本工作得很好!我只是对代码做了一些小的编辑,代码上写着var range=“a1:e100”/源范围var stid=“工作表ID”;var source=“Tab Name”var srcrange=SpreadsheetApp.openById(stid).getSheetByName(source).getRange(range);
    function sample() {
      // Source
      var range = "a1:b5"; // Source range
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var srcrange = ss.getActiveSheet().getRange(range);
    
      // Destination
      var range = "c1:d5"; // Destination range,
      var dstid = "### file id ###"; // Destination spreadsheet ID
      var dst = "### sheet name ###"; // Destination sheet name
      var dstrange = SpreadsheetApp.openById(dstid).getSheetByName(dst).getRange(range);
    
      var dstSS = dstrange.getSheet().getParent();
      var sourceValues = srcrange.getValues();
      dstrange.setValues(sourceValues);
    }