Javascript 谷歌应用程序脚本-自定义导入功能,需要自动更新
我正在将来自9个不同Google表单的数据移植到主概览仪表板,以跟踪公司指标。我没有使用ImportRange,而是用googleapps脚本创建了一个自定义函数,因为我需要它附带的所有格式。我要复制的工作表使用公式,因此我首先在源电子表格中创建一个没有公式的工作表副本,然后将该工作表复制到目标电子表格 ImportRange的好处在于它不断地获取数据并自动更新。我在下面编写的函数创建和删除工作表,以将格式转移到Masters。是否有任何人都可以想到的解决方法,只需获得自动更新的值,而无需创建和删除一堆新图纸 此外,每次创建和删除新图纸时,图纸数量都会增加1。有办法重置这个计数器吗Javascript 谷歌应用程序脚本-自定义导入功能,需要自动更新,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在将来自9个不同Google表单的数据移植到主概览仪表板,以跟踪公司指标。我没有使用ImportRange,而是用googleapps脚本创建了一个自定义函数,因为我需要它附带的所有格式。我要复制的工作表使用公式,因此我首先在源电子表格中创建一个没有公式的工作表副本,然后将该工作表复制到目标电子表格 ImportRange的好处在于它不断地获取数据并自动更新。我在下面编写的函数创建和删除工作表,以将格式转移到Masters。是否有任何人都可以想到的解决方法,只需获得自动更新的值,而无需创建和
function importPortComp(portComp, srcRange, destRange) {
// Create temporary sheet in source spreadsheet
var tempSheet = portComp.insertSheet();
// Copy values, formatting, and column widths to temporary sheet
srcRange.copyTo(tempSheet.getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
srcRange.copyTo(tempSheet.getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
srcRange.copyTo(tempSheet.getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
// Copy temporary sheet destination spreadsheet
var copiedSheet = tempSheet.copyTo(masterSS);
// Delete temporary sheet from source spreadsheet
portComp.deleteSheet(tempSheet);
// Copy source range to destination range
copiedSheet.getRange(srcRange.getA1Notation()).copyTo(destRange);
copiedSheet.getRange(srcRange.getA1Notation()).copyTo(destRange, SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
// Delete copied sheet from T/R spreadsheet
masterSS.deleteSheet(copiedSheet);
}
如果我正确理解你的问题: 使用: 获取值 然后按到正确索引处的数组(我猜它是
array[row][column]
)您要“concat/add”设置正确范围和用法的其他数据
sheet.range.setValues(array)
您可以检查我使用此方法时遇到的问题是,如果我在导入格式后执行此操作,它会删除所有格式。如果我以前这样做过,复制的格式会删除所有值。也许可以尝试找到一种方法来创建一个新的工作表对象,而不必插入它。你觉得怎么样?你想过使用API吗?不,你能解释一下或者给我指一些资源吗?在这里,也许你会发现一些有趣的东西,为了了解你想做的详细情况,你能提供你想要的示例源和目标电子表格吗?
sheet.range.setValues(array)