【问题标题】:How do I append values starting from specific column如何附加从特定列开始的值
【发布时间】:2020-10-16 08:40:47
【问题描述】:

我有一个代码可以从特定列检索项目 ID,并在 API 调用中使用它来获取更多需要从最后一列开始附加的数据。

这是读取上列并将其用于 API 调用的代码

function readDates() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var range = sheet.getRange("F2:F" + sheet.getLastRow()).getValues();
    var searchString = "Project";
    var contents = [];  
    var team_array = [];
for (var i = 0; i < range.length; i++) {
    var lastRow = sheet.getRange(2 + i, 1, 1, 8).getValues();
    var data = {'project_id': lastRow[0][3]};
    var options = {method: 'get',headers: {Authorization: 'Bearer ' + TKF_AUTH}};
    var url = TKF_URL + Endpoint + data.project_id + '/users?auth=' + TKF_AUTH 
    var response = UrlFetchApp.fetch(url, options);
    var team = JSON.parse(response);
    var content = team.data;
    team_array.push(content);
    contents = contents.concat(content);  
}

需要从 G 列第 2 行附加响应,但这是我觉得很有挑战性的事情,任何帮助都将在这里得到赞赏。看看我的代码崩溃,这不是我想要的。

if (contents.length > 0 ) {
  var dstSheet = SpreadsheetApp.getActive().getSheetByName('Projects');
  var values = contents.map(e => ([e.id, e.first_name, e.last_name, e.display_name, e.email, e.user_type_id, e.role]));
  var new_values=values.filter(item=>{
   if(item[6] == 'Project Leader' || item[6] == 'Senior Project Leader')
    {
      return true
   }
 })
 dstSheet.getRange(7, 1, new_values.length, new_values[0].length).setValues(new_values);// How do I structure this part to ensure it starts seting values from column G
}Logger.log(contents.map)
}

【问题讨论】:

    标签: javascript arrays google-apps-script google-sheets mapping


    【解决方案1】:

    这是你要找的吗:

    function readDates() {
      var ss = SpreadsheetApp.getActive();
      var sheet = ss.getActiveSheet();
      var vA = sheet.getvA(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();
      var w=sheet.getLastColumn();
      for (var i = 0;i<vA.length;i++) {
        var options = {method: 'get',headers: {Authorization: 'Bearer ' + TKF_AUTH}};
        var url = TKF_URL + Endpoint + vA[i][3] + '/users?auth=' + TKF_AUTH 
        var response = UrlFetchApp.fetch(url, options);
        var team = JSON.parse(response.getContentText());
        var v=vA.slice(0,7);
        vA[i]=v.concat(team.data);//assume team.data is an array
        if(vA[i].length>w){w=vA[i].length;}
      }
      sh.getRange(2,1,vA.length,w).setValues(vA);
    }
    

    很高兴看到返回数据的样子,如果可能的话,我们可以创建标题,以便我们可以将数据正确放置在扩展列中。

    【讨论】:

    • 这可能需要一些调整,我需要能够看到您的电子表格的样子。
    猜你喜欢
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    相关资源
    最近更新 更多