Firebase 如何自动将数据从一个google工作表移动到另一个
我正在尝试将Google sheets中的值发送到Firebase,以便数据表自动更新。为此,我使用了GoogleDriveCMS,它完美地将数据导出到Firebase。问题是我从网站上刮取数据。例如,我通过使用importXML获得一个数据列表: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='
=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);
}