我正在尝试将Google表格中的值发送到Firebase,以便数据表自动更新。为此,我使用Google Drive CMS将数据完美导出到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的数据显示了导出的第一行数据。
答案 0 :(得分:1)
这个示例脚本怎么样?请将此视为几个答案之一。该脚本的流程如下。使用此脚本时,请复制并粘贴该脚本并运行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 copiedsheet = srcrange.getSheet().copyTo(dstSS);
copiedsheet.getRange(srcrange.getA1Notation()).copyTo(dstrange);
dstSS.deleteSheet(copiedsheet);
}
如果我误解了你的问题,我很抱歉。
此示例脚本从源电子表格的值复制到目标电子表格。
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);
}