Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从一个电子表格复制/传输到另一个基于

从一个电子表格复制/传输到另一个基于
EN

Stack Overflow用户
提问于 2019-06-05 23:37:07
回答 1查看 169关注 0票数 1

我试图从一个电子表格复制/传输一个电子表格到另一个电子表格。我尝试过各种方法,.copyTo似乎是最好和最有效的方法。

.copyTo运行得很好,但我很难把它发送到一个特定的页面.

这是我的代码:

代码语言:javascript
运行
AI代码解释
复制
 function TransferDataOut() {

 var source = SpreadsheetApp.getActiveSpreadsheet();
 var sheetA = source.getSheets()[0]; //sheet source number  

 var destination = SpreadsheetApp.openById('the destination sheet');
 var each = "Data_Incoming"; 

 var ss = SpreadsheetApp.getActiveSpreadsheet();

 sheetA.copyTo(destination); // I tried renaming .setName(each);


 }

因此,如果我只使用sheetA.copyTo(目的),它只是创建一个副本表,就像the_souce_sheet_name的副本一样。如果我尝试重命名,使它成为一个特定的名称,我将得到错误后,运行后,该表已经存在于目标电子表格第二次。

我真正需要实现的是,源电子表格中的函数将数据从源表复制到目标电子表格中的始终相同的表中。也许.copyTo不是正确的方法吗?任何建议和代码,请帮助!

在目标电子表格中的精确工作表上接收数据的原因是,在更改时有一个触发器,该触发器执行另一个脚本来处理新传入的数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 00:09:41

  • 您希望将电子表格A的源表覆盖到电子表格B的目标表。
  • 您希望保留var each = "Data_Incoming"的工作表名。

如果我的理解是正确的,那么这个答案呢?我想提出两个样本。因此,请为您的情况选择其中之一。

示例脚本1:

此示例脚本的流程如下所示。

  1. 删除电子表格B的each表。
  2. 电子表格A的源表被复制到电子表格B的目标表中。
  3. 将电子表格B的复制表的工作表名称修改为each

修改脚本:

代码语言:javascript
运行
AI代码解释
复制
function TransferDataOut() {
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheetA = source.getSheets()[0]; //sheet source number
  var destination = SpreadsheetApp.openById('the destination sheet');
  var each = "Data_Incoming"; 
  var destSheet = destination.getSheetByName(each);
  if (destSheet) {
    destination.deleteSheet(destSheet);
  }
  sheetA.copyTo(destination).setName(each);
}

示例脚本2:

此示例脚本的流程如下所示。

  1. 将电子表格A的源表复制到电子表格B。
  2. 如果电子表格B中不存在工作表名称为each的工作表,则将复制的表重命名为each
  3. 如果电子表格B中存在工作表名称为each的工作表,则源表作为Copy of ###复制到电子表格B。
  4. each表已被清除。
  5. 复制的工作表的所有值、公式和格式都复制到each工作表中。
  6. 删除复制的工作表。

修改脚本:

代码语言:javascript
运行
AI代码解释
复制
function TransferDataOut() {
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheetA = source.getSheets()[0]; //sheet source number  
  var destination = SpreadsheetApp.openById('the destination sheet');
  var each = "Data_Incoming";
  var copiedSheet = sheetA.copyTo(destination);
  var destSheet = destination.getSheetByName(each);
  if (destSheet) {
    destSheet.clear();
    var srcRange = copiedSheet.getDataRange();
    srcRange.copyTo(destSheet.getRange(srcRange.getA1Notation()));
    destination.deleteSheet(copiedSheet);
  } else {
    copiedSheet.setName(each);
  }
}

注意:

  • 在此示例脚本中,删除电子表格B(目标电子表格)的each 表。所以请小心点。
    • 因此,首先,作为测试,我建议使用示例电子表格。

参考文献:

如果我误解了你的问题,而这不是你想要的结果,我道歉。

添加:

  • 使用源电子表格中的脚本将源值复制到目标电子表格时,希望运行目标电子表格的脚本。

下面的示例脚本用于实现上述情况。

目标电子表格的脚本:

首先,编写目标电子表格的脚本。

剧本:

代码语言:javascript
运行
AI代码解释
复制
function doGet() {

  sample(); // This is the function that you want to run when the source values are copied.

  return ContentService.createTextOutput();
}

将上述脚本复制并粘贴到目标电子表格的脚本编辑器后,请执行以下流程。

  • 部署Web应用程序。
    1. 在脚本编辑器上,通过“发布”->“部署为web应用程序”打开一个对话框。
    2. 选择"Me“作为”执行应用程序为:“。
    3. 选择“任何人,甚至匿名者”作为“谁有权访问该应用程序:”。
    4. 单击“部署”按钮作为新的“项目版本”。
    5. 自动打开“需要授权”的对话框。
      1. 点击“查看权限”。
      2. 选择自己的帐户。
      3. 点击“高级”在“此应用程序未验证”。
      4. 单击“转到###项目名称###(不安全)”
      5. 单击“允许”按钮。

代码语言:javascript
运行
AI代码解释
复制
1. Copy "Current web app URL:".  
    - It's like `https://script.google.com/macros/s/#####/exec`.

代码语言:javascript
运行
AI代码解释
复制
1. Click "OK".

源电子表格的脚本:

下一步,源电子表格的脚本准备如下。在这个样本中,使用了样本2。我认为您也可以使用示例1。

剧本:

代码语言:javascript
运行
AI代码解释
复制
function TransferDataOut() {
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheetA = source.getSheets()[0]; //sheet source number  
  var destination = SpreadsheetApp.openById('the destination sheet');
  var each = "Data_Incoming";
  var copiedSheet = sheetA.copyTo(destination);
  var destSheet = destination.getSheetByName(each);
  if (destSheet) {
    destSheet.clear();
    var srcRange = copiedSheet.getDataRange();
    srcRange.copyTo(destSheet.getRange(srcRange.getA1Notation()));
    destination.deleteSheet(copiedSheet);
  } else {
    copiedSheet.setName(each);
  }

  // Added
  var url = "https://script.google.com/macros/s/###/exec"; // Please set the retrieved URL of Web Apps.
  UrlFetchApp.fetch(url);
}

注意:

  • 根据上述设置,在运行源电子表格的TransferDataOut()时,目标电子表格的doGet()UrlFetchApp.fetch(url)运行。

参考文献:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56472894

复制
相关文章
java 把文件从一个目录复制到另一个目录
方法一:简单粗暴,直接使用copy(),如果目标存在,先使用delete()删除,再复制;
崔笑颜
2020/06/08
2K0
VBA实战技巧29:从一个工作表复制数据到另一个工作表
今天演示一个简单的例子,也是经常看到网友问的问题,将一个工作表中的数据复制到另一个工作表。
fanjy
2021/07/30
26K1
谁,复制了另一个我?
据媒体报道,在2020年个税年度汇算查询时,有数千名学生发现自己的个人所得税App上有陌生公司的就职记录,也就是“被就业”了! 从被法人!被老赖!被诈骗!被就业!被......!是谁在复制另一个你? “被就业”也许对生活暂时没有影响,但信息泄露有可能让受害人信息在不知情下被进一步滥用,甚至让犯罪记录“从天而降”。 当下,依托人脸核身等AI技术的用户身份认证已成为各行业办理业务不可或缺的环节,但在用户真实意愿校验方面,市场仍缺乏针对性解决此类问题的产品。 在利益驱使下,一方面黑产攻击手法日益复杂,另一
腾讯云AI
2021/12/07
1.7K0
谁,复制了另一个我?
以下文章来源于腾讯云AI ,作者Jerry 据媒体报道,在2020年个税年度汇算查询时,有数千名学生发现自己的个人所得税App上有陌生公司的就职记录,也就是“被就业”了! 从被法人!被老赖!被诈骗!被就业!被......!是谁在复制另一个你? “被就业”也许对生活暂时没有影响,但信息泄露有可能让受害人信息在不知情下被进一步滥用,甚至让犯罪记录“从天而降”。 当下,依托人脸核身等AI技术的用户身份认证已成为各行业办理业务不可或缺的环节,但在用户真实意愿校验方面,市场仍缺乏针对性解决此类问题的产品。 在利
腾讯云TI平台
2022/01/27
1K0
SQL 复制表到另一个表
 INSERT INTO targetTableName SELECT COLUMNS FROM sourceTableName;
星哥玩云
2022/08/18
1K0
TCP流量复制工具,另一个tcpcopy
很多年以前,网易推了一个tcp流量复制工具叫tcpcopy。2013年07月我入职新公司,大概10月份接触到tcpcopy,为tcpcopy修了两个bug,一个是由于公司内网的IP tunnel的问题tcpcopy无法正常工作;另一个是一个严重的性能bug。两个bug都用邮件方式向原作者反馈了,尤其第二个bug原作者在博客上发文感谢。在接下来的二次开发中,由于没办法看懂tcpcopy的tcp会话部分的代码,当时建议作者按照tcp的11个状态写成状态机,作者拒绝了。于是,我根据当时的业务情况重写了一个新的TCPCOPY叫TCPGO。技术原理和tcpcopy是一样的,但tcp会话部分写成了标准 的11个tcp状态的状态机(见源代码中的tcpsession类,漂亮的运行在应用空间而不是内核态的精简的tcp状态机)。另部署方式很不一样,要简单很多。为了开发效率,开发语言用了C++,用了boost库还加了lua帮助写业务代码。
kamuszhou
2018/07/19
8.9K0
TCP流量复制工具,另一个tcpcopy
kettle实现从一个cassandra同步到另一个cassandra
1、拖拽cassandra input、cassandra output控件到工作区,如下图所示:
johnhuster的分享
2022/03/28
7520
kettle实现从一个cassandra同步到另一个cassandra
go :复制文件内容到另一个文件
本文实验,从一个文件拷贝文件内容到另外一个文件 代码 package main import ( "fmt" "io" "os" ) func copyFileContents(src, dst string) (err error) { in, err := os.Open(src) if err != nil { return } defer in.Close() out, err := os.Create(dst)
IT工作者
2022/07/22
5830
java从一个目录拷贝文件到另一个目录下
** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param newPath String 复制后路径 如:f:/fqf.txt * @return boolean */ public void copyFile(String oldPath, String newPath) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPath
shirayner
2018/08/10
1K0
如何在SQL Server中将表从一个数据库复制到另一个数据库
在某些情况下,作为DBA,您需要将模式和特定表的内容从数据库复制到同一实例中或在不同的SQL实例中,例如从生产数据库中复制特定表到开发人员以进行测试或排除故障。 SQL Server提供了许多方法,可以用来执行表的数据和模式复制过程。为了研究这些方法中的每一个,我们将考虑下面的场景: 托管SQL服务器:localhost。这两个数据库都驻留在同一个SQL Server 2014实例中。 源数据库:AdventureWorks2012。 目标数据库:SQLShackDemo。 将从源数据库复制到目标数据库的表
程序你好
2018/07/20
8.5K0
【秋招】1:机械转码(如何从一个坑,跳到另一个)
一种是直接彻底的转,如果打算直接进军互联网行业,进大厂,拿机械一辈子也可能达不到的高薪并做好了996的准备,那就直接转。
周旋
2022/09/19
1.5K0
【秋招】1:机械转码(如何从一个坑,跳到另一个)
golang把文件复制到另一个目录
//本程序 主要功能是把A文件夹下的文件与B目录下文件对比,如果找到就覆盖到B相应的目录下。 // 用法: merge A目录 B目录 // merge.go package main import ( "flag" "fmt" "os" "path/filepath" "strings" "time" "github.com/Unknwon/com" ) const ( IsDirectory =
李海彬
2018/03/27
1.2K0
golang把文件复制到另一个目录
//本程序 主要功能是把A文件夹下的文件与B目录下文件对比,如果找到就覆盖到B相应的目录下。 // 用法: merge A目录 B目录 // merge.go package main import ( "flag" "fmt" "os" "path/filepath" "strings" "time" "github.com/Unknwon/com" ) const ( IsDirectory =
李海彬
2018/03/27
2.1K0
linux复制文件夹下的所有文件到另一个文件夹_shell复制文件内容到另一个文件
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。 -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。 -f:覆盖已经存在的目标文件而不给出提示。 -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。 -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 -l:不复制文件,只是生成链接文件。
全栈程序员站长
2022/09/23
3.9K0
将一个CentOS环境复制到另一个CentOS
将一个CentOS环境复制到另一个CentOs,实现环境迁移或备份的功能 将CentOS2复制一份新的CentOS3出来,步骤如下: 创建新的CentOS3 这里的名称改吃CentOS3,后面的文件改名就是对应的这个名称 ISO映像文件路径修改,每个CentOS单独用一个ISO映像文件 直接启动 修改网络ip cd /etc/sysconfig/network-scripts/ vi ifc
Java廖志伟
2022/09/29
1.6K0
将一个CentOS环境复制到另一个CentOS
使用VBA将图片从一个工作表移动到另一个工作表
今天跟大家分享的技巧来自thesmallman.com,一个分享Excel技巧技术的网站。
fanjy
2022/11/16
4.2K0
使用VBA将图片从一个工作表移动到另一个工作表
将一个CentOS环境复制到另一个CentOS
「这是我参与2022首次更文挑战的第23天,活动详情查看:2022首次更文挑战」。
Java廖志伟
2022/03/07
5990
将一个CentOS环境复制到另一个CentOS
C# 复制PDF页面到另一个PDF文档
有时候我们可能有这样一个需求,那就是把PDF页面从一个PDF文档复制到另一个PDF文档中。由于PDF文档并不像word文档那样好编辑,因此复制也相对没有那么容易。写这篇文章主要是分享一个简单而且比较容
逸鹏
2018/04/10
1.5K0
C# 复制PDF页面到另一个PDF文档
Java_io_02_从一个目录拷贝文件到另一个目录下
java从一个目录拷贝文件到另一个目录下   http://www.cnblogs.com/langtianya/p/4857524.html
shirayner
2018/08/10
5130
点击加载更多

相似问题

基于日期的Google脚本复制范围从一个电子表格到另一个电子表格

10

基于单个因素将信息从一个电子表格复制到另一个电子表格

12

传输到另一个电子表格

114

将范围从一个电子表格复制到另一个电子表格

63

比较并从一个电子表格复制到另一个电子表格

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档