【问题标题】:Transposed content issue转置内容问题
【发布时间】:2021-09-19 14:31:20
【问题描述】:

相信你很好。我正在做一个项目,我将数据从 apk 发送到谷歌表。 事实是,我将整个数据发送到一个工作表,我还将一种转置数据发送到其他工作表,全部使用custom IDs

这里的例子:

在Test_Sheet中:IDRegionPlaceStaffthing1thing2thing3thing4thing5

在 test2 表中:

IDthing1

IDthing2

IDthing3

IDthing4

IDthing5

一切正常,但我的问题是,当我只有较少的项目时,ID 仍会出现在 test2 工作表中,就像所有项目都存在一样。

IDthing1

IDthing2

IDthing3

ID

ID

代码如下:

function doPost(e) {
  var ss = SpreadsheetApp.openById('XXXXXXXXXXXXXXXXXXX');
  var sh = ss.getSheetByName('Test_Sheet');
  var sh2 = ss.getSheetByName('test2')

  //custom ID 
  var scriptProperties = PropertiesService.getScriptProperties();
  var counter = scriptProperties.getProperty('counter') || 0;
  var formatDate = Utilities.formatDate(new Date(), "GMT+8", "ddMMyy");
  var zero = (counter < 10) ? '0' : '';
  var ID = "T" + formatDate + zero + counter++;
    if (counter > 99) counter = 0;
  scriptProperties.setProperty('counter', counter);

  \\send from apk
  var region = e.parameter.region;
  var place = e.parameter.place;
  var staff = e.parameter.staff;
  var thing1= e.parameter.thing1;
  var thing2= e.parameter.thing2;
  var thing3= e.parameter.thing3;
  var thing4= e.parameter.thing4;
  var thing5= e.parameter.thing5;
  
\\Test_Sheet
  sh.appendRow([ID, region, place, staff, thing1, thing2, thing3, thing4, thing4]);

\\test2
  sh2.appendRow([ID, thing1]);
  sh2.appendRow([ID, thing2]);
  sh2.appendRow([ID, thing3]);
  sh2.appendRow([ID, thing4]);
  sh2.appendRow([ID, thing5]);

}

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-sheets-api


    【解决方案1】:

    如果问题是即使这些记录不存在 ID 也会创建新行,则在写入工作表之前首先确保 ID 确实存在。所以在你的代码中,你会这样做:

     if( thing1 ) sh2.appendRow([ID, thing1])
     if( thing2 ) sh2.appendRow([ID, thing2]) 
     // … and so on
    

    【讨论】:

    • 像魅力一样工作,非常感谢先生。
    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多