google-apps-script - 使用 Google 电子表格中的脚本从许多不同的工作表中获取特定数据
问题描述
我有一本相当庞大的工作簿,其中包含 300 多张纸。我试图从每张表中获取 2 个单元格并将该数据移动到主表中。我将创建一个类似于我的主要购买较小的工作表。这是一个测试表
https://docs.google.com/spreadsheets/d/19DoIyBVFLCt7TU5PEZCMcFMCbRcXhKgNc3OBGcUPixk/edit?usp=sharing
现在我有一个脚本可以做到这一点,但它完全低效,但我对此很陌生。我必须为我拥有的每张工作表执行下面的这组代码。所以代码最终超过2000多行......
sheet.insertRowAfter(49);
var Date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SheetName").getRange("J16").getValues();
DateCell.setValue(Date);
NameCell.setValue("SheetName");
我正在寻找一个脚本,它会做我所拥有的,但在某种循环中。我拥有它的方式是错误的。
解决方案
您想在Spreadsheet.getSheets()方法上使用for
[1]循环或forEach()
[2] 。
为此,Master 必须是电子表格中的第一张工作表。
var ss = SpreadsheetApp.getActiveSpreadsheet(); //Gets the current spreadsheet.
var sheets = ss.getSheets(); //Gets a list of all sheets in the current spreadsheet
//Get master for use later by removing the first sheet.
var master = sheets.shift();
sheets.forEach(function (sheet){
//Here we can perform a task on each sheet in our spreadsheet...
var name = sheet.getRange("A1").getValue(); //Get name from sheet
var date = sheet.getRange("C7").getValue(); //Get date from sheet
master.appendRow([name, date]); //append to master sheet
}
这将允许您浏览电子表格文件中的每个工作表并在每个工作表中执行相同的任务!
推荐阅读
- sql - Ltrim 修剪多余字符
- flutter - 将 ledger-cli 文本文件解析为颤振/飞镖中的地图列表
- react-native - 如何使用 redux 和 react-hooks 共享状态数据
- json - json 文件中的 Crud 操作 asp.net core Web API
- python-3.x - Python中是否有模块或正则表达式可以将所有字体转换为统一字体?(文字来自推特)
- python - 在 drf-spectacular 设置中传递 Swagger-UI url
- apache-kafka - 分布式系统中的主节点和Kafka集群中的控制器有什么区别?
- macos - Big Sur 11.3 - clang:错误:'-mmacosx-version-min=11.0' 中的版本号无效
- html - 如何增加虚线边框点之间的空间并在它们之间书写
- python - 运行时无法识别 Django 应用程序