Google 电子表格脚本 使用 javascript 将数据写入多个电子表格
Google Spreadsheet Script Write Data to Multiple Spreadsheets using javascript
>我正在尝试从以下方面扩展脚本:"教程:使用 JavaScript 对象编写电子表格数据"https://developers.google.com/apps-script/articles/writing_spreadsheet_data
我已经在我们自己的电子表格上实现了这个脚本,并且能够读取我们的源电子表格并写入目标电子表格。不幸的是,我已经达到了该教程的极限,这与我对javascript的了解程度完全吻合。
我们的目标:1(我们需要使用一张与部门匹配的工作表,而不是将数据写入与教程中使用的"部门"匹配的工作表。2(我们需要循环脚本将每个部门写入一个唯一的电子表格。
出于我们的目的,我们有大约 100 个"部门",我们正在寻找的结果应该是 100 个电子表格 - 每个部门 1 个 [就像教程中创建的工作表] 该脚本不需要动态创建新的电子表格,尽管那会很酷......我们只需要让它写入适当的电子表格。
任何帮助/建议或指导将不胜感激。 谢谢
存储在某个地方是从部门名称到电子表格 ID 的映射。这可以通过在主电子表格中创建一个包含该映射的特殊工作表来完成:
Department Spreadsheet Id
Sales 123
HR 456
当您准备好写出数据时,您可以查找给定部门的电子表格 ID。您可以使用 SpreadsheetApp.openById(( 打开电子表格并向其中写入数据。
所以我是Javascript,谷歌表格和这个网站的新手。 但我想我会分享一些你可能会感兴趣的东西。这是我制作的脚本,用于根据月份将数据从工作表移动到各种目标工作表中。
它的工作原理是逐个浏览targetSheetNames
,并查看某位数据的月份值是否与数组中工作表名称的索引号匹配。
所以在这种情况下,数组从 0-11 开始,这很方便,因为 Javascript 中的月份也从 0-11 开始。
出于您的目的,您可能需要添加更多位,以检查它是否正确数据等。但它为您提供了一个将数据移动到同一电子表格中的多个工作表的示例。
function splitByMonth(){
var targetSheetNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; // Sheet names, in month order. Order is important. Name is not. Sheets must exist. This will not create them.
var sourceSheet = "Archive"; // Name of sheet with data in it.
var dateColumn = 1; // Column number with date in it. A = 1, B = 2, C = 3, etc
var ss, sheet, values, valuesLength, counter, archive = [];
for (var i = 0; i < targetSheetNames.length; i++){
ss = SpreadsheetApp.getActiveSpreadsheet();
sheet = ss.getSheetByName(sourceSheet);
values = sheet.getDataRange().getValues();
valuesLength = values.length;
counter = 1; // This starts at one because it assumes a header row.
archive = [];
while (counter < values.length){
var d = new Date(values[counter][dateColumn - 1]);
var m = d.getMonth();
if (m == i ){
archive.push(values.splice(counter, 1)[0]);
}
else
{
counter++;
}
}
var archiveLength = archive.length;
if (!archiveLength) {continue;}
var dataSs = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = dataSs.getSheetByName(sourceSheetKeys[i]);
var lastRow = targetSheet.getLastRow();
var requiredRows = lastRow + archiveLength - targetSheet.getMaxRows();
if (requiredRows > 0) targetSheet.insertRowsAfter(lastRow, requiredRows);
targetSheet.getRange(lastRow + 1, 1, archiveLength, archive[0].length).setValues(archive);
}
}
- 使用外部数据创建仪表板(谷歌电子表格)-JavaScript
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- 如果填写了特定值,则通过电子邮件发送电子表格中的数据
- 有没有一种方法可以使用Javascript检索谷歌表单ITSELF(而不是电子表格)的数据
- 谷歌应用程序脚本:如何使用电子表格中的数据查询外部数据库
- 将数据发送到PHP页面以制作电子表格
- JSON数据来自未发布的Google Drive电子表格
- 将“加载更多”添加到从Google电子表格中通过$.getJSON接收的数据输出中
- 使用脚本中的数据,通过各种形式或提醒框修改 Google 电子表格中的数据
- Google 电子表格脚本 使用 javascript 将数据写入多个电子表格
- 创建电子表格并用特定数据填充它们
- 在谷歌电子表格中存储/检索数据
- Javascript拉多个谷歌电子表格数据绘制图表
- js不能看到谷歌电子表格数据
- 如何使用谷歌应用程序脚本自动下载谷歌电子表格数据
- Google apps脚本HTML选择从电子表格数据加载的选项
- 谷歌电子表格数据在选择框与"选定的jQuery插件"
- Google Scripts外部电子表格数据验证
- 通过电子表格数据创建账户-谷歌应用程序
- 从Google电子表格数据在网页上构建/填充下拉菜单