我有一个谷歌工作表,这是从一个html主页的表格中刮数据。
数据位于一个简单的google表中,其中A1:H1包含标题/标签,A2:H2包含值
每次数据发生变化,每次我的google表使用新数据更新时,我希望A2:H2中的新数据自动“存档”到另一个google (子)表中。
显然,我可以使用谷歌脚本(然后每天使用触发器自动运行)-我尝试在这里使用这个教程:https://www.computerworld.com/article/2469616/business-intelligence/business-intelligence-79661-how-to-create-an-automatically-updating-spreadsheet.html#slide7
他们拥有/给出的代码是:
function storeData(){
var datarange = sheet.getDataRange();
var numRows = datarange.getNumRows();
var numColumns = datarange.getNumColumns();
var nextColumn = numColumns + 1;
sheet.getRange(1,nextColumn).setValue(new Date());
for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}当我运行这个命令时,我得到了以下错误:"sheet“is not defined
那么,我需要放入我想要在()之间复制的数据范围吗?是像这样吗?
function storeData(){
var datarange = sheet.getDataRange(A2:H2);
var numRows = datarange.getNumRows();
var numColumns = datarange.getNumColumns();
var nextColumn = numColumns + 1;
sheet.getRange(1,nextColumn).setValue(new Date());
for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}当我运行此命令时,我得到以下错误:在第2行中缺少")“符号
有人能帮帮忙吗?
发布于 2019-01-14 07:50:22
您需要定义板材。
function storeData(){
var ss = SpreadsheetApp.openById('ID'); // Select Spreadsheet by ID
var sheet = ss.getSheetByName('Name'); // Select your Sheet by its Name
var datarange = sheet.getDataRange();
var numRows = datarange.getNumRows();
var numColumns = datarange.getNumColumns();
var nextColumn = numColumns + 1;
sheet.getRange(1,nextColumn).setValue(new Date());
for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}发布于 2019-01-14 08:10:29
出现第一个错误是因为没有定义sheet。有几种方法可以定义它。如果要存档的工作表始终相同,请使用
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('Sheet1'); // Replace Sheet1 by the actual name of the sheet to be archived出现第二个错误是因为getDataRange不应该包含任何参数。而不是
var datarange = sheet.getDataRange(A2:H2);使用
var datarange = sheet.getRange('A2:H2');https://stackoverflow.com/questions/54173751
复制相似问题