简体   繁体   English

如何在不使用电子表格 ID 的情况下使用 Google 脚本从另一个 Google 表格导入数据

[英]How to import data from another Google Sheet using Google Script without using Spreadsheet ID

I have a Google Script that imports my data range from one Google Sheet to another Google Sheet and it works perfectly.我有一个 Google 脚本,可以将我的数据范围从一个 Google 表格导入到另一个 Google 表格,并且运行良好。

My issue is however the original data sheet gets updated daily by a third party (CloudHQ) which replaces the original version, this means that a new spreadsheet ID is created which renders this script incorrect daily.然而,我的问题是原始数据表每天都会由第三方 (CloudHQ) 更新,它替换了原始版本,这意味着创建了一个新的电子表格 ID,这使得该脚本每天都不正确。

Is there a way to import a data range by another google script method by using something constant such as the file name or file location?有没有办法通过使用文件名或文件位置等常量来通过另一种谷歌脚本方法导入数据范围?

Please find my code below:请在下面找到我的代码:

    var sourceSpreadsheetID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    var sourceWorksheetName = "CustomSheetName1";
    var targetSpreadsheetID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    var targetWorksheetName = "Sheet1";

function importData1() {
  var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
  var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
  //var thisData = thisWorksheet.getDataRange();
  var thisData = thisSpreadsheet.getRangeByName("B:B");

  var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
  var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
  var toRange = toWorksheet.getRange(1, 1, thisData.getNumRows(), thisData.getNumColumns())
  toRange.setValues(thisData.getValues()); 
}

You need to browse your Drive for a file with the given name and find out its ID您需要浏览您的驱动器以查找具有给定名称的文件并找出其 ID

Sample for retrieving the ID of the source spreadsheet用于检索源电子表格 ID 的示例

  var fileName = "PASTE HERE THE NAME OF YOUR SOURCE SPREDSHEET";
  var file = DriveApp.getFilesByName(fileName).next();
  var sourceSpreadsheetID = file.getId();
  var sourceWorksheetName = "CustomSheetName1";
  var targetSpreadsheetID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  var targetWorksheetName = "Sheet1";

  function importData1() {
    var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
    var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
    //var thisData = thisWorksheet.getDataRange();
    var thisData = thisSpreadsheet.getRangeByName("B:B");

    var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
    var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
    var toRange = toWorksheet.getRange(1, 1, thisData.getNumRows(), thisData.getNumColumns())
    toRange.setValues(thisData.getValues()); 
  }

If it is the ID of the destination spreadsheet you want to retrieve - proceed respectively.如果它是您要检索的目标电子表格的 ID - 分别继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在不使用电子表格 ID 的情况下使用 Google 脚本从另一个 Google 表格导入数据(2020 年 7 月更新停止了我的代码工作) - How to import data from another Google Sheet using Google Script without using Spreadsheet ID (July 2020 update stopped my code working) 使用Google脚本将数据从一个Google电子表格拉到另一电子表格 - Pull data from one Google spreadsheet to another using Google script 如何使用谷歌应用脚本将一行从一个谷歌电子表格复制到另一个谷歌电子表格? - How to copy a row from one google spreadsheet to another google spreadsheet using google apps script? 如何使用Google Apps脚本将特定的行从3个Google电子表格复制到另一个电子表格 - How to copy specific rows from 3 google spreadsheet to another spreadsheet using google apps script 使用 Google Apps 脚本将数据范围从一个 Google 电子表格导出到另一个 - Export Range of Data from One Google Spreadsheet to Another using Google Apps Script 如何使用 Google 脚本从 1 个 Google 工作表中复制特定值并粘贴到另一个工作表? - How can I copy specific values from 1 Google Sheet and paste to another Sheet using Google Script? 如何使用Google Apps脚本自动下载Google电子表格数据 - how to automatically download Google spreadsheet data using Google Apps script 如何使用 Google App Script 将一个 Google Sheet 中的所有数据提取到另一个 Google Sheet Tab? - How do I pull All data in one Google Sheet to another Google Sheet Tab using Google App Script? 将工作表复制到另一个电子表格[Google Apps脚本] - Copy sheet to another spreadsheet [Google Apps Script] 如何从一张工作表中获取Google Spreadsheet中的数据行,并预先填充另一张工作表 - How to take rows of data in Google Spreadsheet from one sheet, and pre-populate another sheet
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM