在javascript函数googlesheet中importxml

时间:2018-05-08 09:21:12

标签: javascript google-sheets-api

我尝试从IMPORTXML网站获取一些信息。

我写了一个函数,它有效,但它不是我想要的。

function info() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var cell = sheet.getActiveCell();
  cell.setFormula('=importXml("https://example.com&sw="&M2&"&s=on", "/html/body/div[1]/p[2]/a")');
}

url和xpath就是一个例子。 单元格M2是我在网址中添加的信息。

因为第一次工作,我试着写一些更难的东西......而且我迷失了。

我搜索在列M的单元格中获取信息以完成URL,将我用xpath获得的值存入O列。

当M的单元格中没有任何内容时,我想跳过它并继续。

我开始做点什么,但不正确。 我得到一个错误行5," no;在陈述之前,我不知道它是什么。

function info2() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var cell = '=IMPORTXML("https://example.com&sw=" + sheet.getRange('M:M').getValue() + "&s=On", "/html/body/div[1]/p[2]/a")';
  for (var i in data) {
    for (var j in data[i]) {
      sheet.getRange('O:O').setValue(cell);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

经过大量的测试,我意识到我的第一个网址很好。 & M2&由googlesheet自动增加。

要使用googlesheet的宏来获取公式的值,很容易得到它

function val() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('O:O').activate();
  spreadsheet.getRange('O:O').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.getRange('O1').activate();
}; 

从现在开始,当O列的单元格为空时,我搜索跳过列O的单元格中的importxml ...