当前位置: 首页 > 知识库问答 >
问题:

使用一张图纸中的数据自动填充多张相同的图纸

苍元章
2023-03-14

使用GoogleApps脚本,我试图用一张工作表中的数据自动填充多张工作表。

我使用两个电子表格,“主”电子表格包含需要自动填充到另一个电子表格中的数据。

另一个电子表格包含模板表,根据“主”表中的条目数量,模板表被重复多次,这是数据需要去的地方。

到目前为止,我已经设法复制了基于主模板的工作表的数量,并在之后删除它们(见代码),但是我找不到任何关于如何自动填充这些工作表的信息。模板根据列中的公司数量进行复制,模板表以这些公司的名字命名。

function onOpen() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [{name: "Produce Conformance Logs (From Current Sheet)", functionName: "Produce"}, 
{name: "Delete Old Conformance Logs", functionName: "delSheets"}
];
ss.addMenu("Conformance Logs", menuEntries);
}




function Produce() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var ui = SpreadsheetApp.getUi();

var eRange = sh.getRange("R9:R").getValues()
var eLength = eRange.filter(String).length;


var rData = sh.getRange(9, 18,eLength, 1).getValues(); // This is the data with the company names

var conformanceSSheet = SpreadsheetApp.openById("1eMQv7muCHzKiyFxIlsdfgsdfgNpxovHiEINNZNtPUlEElIFs5ws");
var conformanceTemplate = conformanceSSheet.getSheetByName("Template");

var result = ui.alert(             //title, prompt, buttons)  
'Please confirm','Are you sure you want to produce Conformance Logs ?', ui.ButtonSet.YES_NO); 

if(result == ui.Button.YES){

for (i=rData.length-1;i>0;--i)
conformanceTemplate.copyTo(conformanceSSheet).setName(rData[i]);
}

}

自动填充代码到这里

function delSheets() {

var ss =  SpreadsheetApp.openById("1eMQv7muCHzKiyFxIlNpxovHiEsdfgsdgINNZNtPUlEElIFs5ws");
var sheetsCount = ss.getNumSheets();
var sheets = ss.getSheets();
var ui = SpreadsheetApp.getUi();

var deleteSheetsContaining = "Template"
for (var i = 0; i < sheetsCount; i++){
var sheet = sheets[i]; 
var sheetName = sheet.getName();
Logger.log(sheetName);

if (sheetName.indexOf(deleteSheetsContaining.toString()) === -1){
Logger.log("DELETE!");
ss.deleteSheet(sheet);
}
}
}

例如,在所有重复工作表的F7单元格中,我试图填充前面在rData变量中标识的公司名称。是否可以在每个工作表中填充一个公司名称?

谢谢你的帮助!

共有1个答案

宗政元青
2023-03-14

//试着看看你是否可以编辑它,让它为你工作;

    function archive()
    {var sheetNameToWatch = "XXXXX";
    var sheetNameToMoveTheRowTo = "YYYYYY";
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[10];
    var range = sheet.getRange("C4:K5");
    {
     var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
     var targetRange = targetSheet.getRange(targetSheet.getLastRow() +1,1);
     sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).copyTo(targetRange,{contentsOnly:true});}
 类似资料:
  • 我正在尝试使用javaFX用另一个图像逐步填充一个图像。进度将从0%到100%不等,取决于mysql提供的变量,因此当100%完成时,第一个图像将会消失。 我能想到的最简单的方法是为每1%创建一个图像。但相信有一种更简单的方法通过代码。请帮忙。 可以使用ImagePatern吗? 非常感谢您的帮助!

  • 问题内容: 我有这个数据库存储传感器采集数据, 采集(acq)来自不同控制单元(cu)的固定间隔(日期时间) 每个采集在数据表中存储了许多不同的度量 我需要这种观点: 作为: v1是data.value(例如湿度),其中 acq.id_cu = 1 AND data.id_meas = 100 v2是data.value(例如计数器),其中 acq.id_cu = 2 AND data.id_me

  • 问题内容: 我正在访问网站上的链接,每次访问该链接时都会提供一个新图像。 我遇到的问题是,如果我尝试在后台加载图像,然后更新页面上的图像,则图像不会更改-尽管在重新加载页面时会更新图像。 FireFox看到的标题: 我需要强制刷新页面上的该图像。有任何想法吗? 问题答案: 我最终要做的是让服务器将对该目录下的任何图像请求映射到我尝试更新的源。然后,我让计时器在名称末尾附加一个数字,以便DOM将其视

  • 我知道如果一列中有重复的值,如何应用条件格式,我知道如何使用公式引用多个工作表中的值;但是,如果值在另一个工作表中是重复的,我要做的是将格式应用于该值。 例如:我有“友谊”、“医疗”、“IT”和“营销”表,其中包含姓名和联系信息。电子邮件地址始终在E列中。 偶尔有人会从垂直领域,例如医疗保健领域,转移到友谊赛中。 当有人被添加到友谊赛工作表时,我希望他们在友谊赛工作表中的电子邮件单元格(E列)变为

  • 更新:在我的个人电脑和谷歌云上测试相同的代码,使用tenstorflow gpu 1.13.1工作。 使用TensorFlow估计器和运行train_and_evaluate给我以下错误消息: "ValueError: Tensor("Const: 0",form=(3,),dtype=Float32)必须来自与Tensor("ParallelMapDataset: 0",form=(),dtyp

  • 我正在运行一个包含多张表的电子表格,在Sheet3中输入一些数据并运行一个自动排序代码,该代码按D列升序排序。 表3示例|表1示例 Sheet1中的“名称”和“位置”是从Sheet3导入的,因此当Sheet3进行排序时,它们会交换位置,但是,问题是从D到F(Sheet1)的信息没有交换,它将为错误的人显示。 这是我正在使用的脚本: 对其进行了轻微修改,以适用于特定的工作表,因为我当时不需要对整个文