Google apps script 谷歌表单导入TML
我已经完成了以下脚本。我想用IMPORTHTML在我的Google工作表中得到一个表,一切正常,只有当数据改变时,Google表中的数据才会改变。我用一个触发器运行整个程序,这样它每分钟都会更新。 但是问题来了,如果我让整个事情像这样运行,网站上的数据发生了变化,现在问题来了,在谷歌的表单中,旧的值没有变化只是一次又一次地被取代,而不是新的。如果我手动从单元格中删除IMPORTHTML,然后将其复制回,它的工作方式会很奇怪。但不幸的是,它不能与脚本和触发器一起工作,我做错了什么Google apps script 谷歌表单导入TML,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,我已经完成了以下脚本。我想用IMPORTHTML在我的Google工作表中得到一个表,一切正常,只有当数据改变时,Google表中的数据才会改变。我用一个触发器运行整个程序,这样它每分钟都会更新。 但是问题来了,如果我让整个事情像这样运行,网站上的数据发生了变化,现在问题来了,在谷歌的表单中,旧的值没有变化只是一次又一次地被取代,而不是新的。如果我手动从单元格中删除IMPORTHTML,然后将其复制回,它的工作方式会很奇怪。但不幸的是,它不能与脚本和触发器一起工作,我做错了什么 functi
function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Lager123");
var importXpath_1 = '=IMPORTHTML("URLwithSIMPLEtable","table", 1)';
sheet.getRange("A1").setValue(importXpath_1);
}
在设置值之前,先清除单元格内容,然后清除它:
function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Lager123");
var importXpath_1 = '=IMPORTHTML("URLwithSIMPLEtable","table", 1)';
sheet.getRange("A1").clearContent();
SpreadsheetApp.flush();
sheet.getRange("A1").setValue(importXpath_1);
}
参考资料:
var queryString = Math.random(); // This will generate random value
sheetName.getRange('P7').setValue(queryString); // This random value will be placed in Cell P7
var cellFunction = '=ImportHtml("URL?"&P7;"table";1)}'; // Value from P7 cell will be appended in URL to avoid caching issue
sheetName.getRange('A1').setValue(cellFunction);
我在我的项目中尝试了这个方法,效果很好。这是我一直尝试的方法,但也不起作用。它仍然使用旧的值。可能数据并不是每分钟都更新一次,所以您需要再等一点时间才能看到更改?@mKeey为了获得完整性,我更新了我的答案。