转置内容问题
Transposed content issue
相信你很好。我正在做一个项目,我将数据从 apk 发送到 google sheet。
事实是我将整个数据发送到 sheet 并且我还向其他 sheet 发送了一种转置数据,所有数据都带有 .
此处示例:
在Test_Sheet中:ID
Region
Place
Staff
thing1
thing2
thing3
thing4
thing5
在测试2中sheet:
ID
thing1
ID
thing2
ID
thing3
ID
thing4
ID
thing5
一切正常,但我的问题是,当我只有较少的项目时,ID 仍会在 test2 sheet 中,就像所有项目都存在一样。
ID
thing1
ID
thing2
ID
thing3
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]);
}
如果问题是即使这些记录的 ID 不存在也会创建新行,那么在写入 sheet 之前首先确保 ID 确实存在。所以在你的代码中,你会这样做:
if( thing1 ) sh2.appendRow([ID, thing1])
if( thing2 ) sh2.appendRow([ID, thing2])
// … and so on
相信你很好。我正在做一个项目,我将数据从 apk 发送到 google sheet。
事实是我将整个数据发送到 sheet 并且我还向其他 sheet 发送了一种转置数据,所有数据都带有
此处示例:
在Test_Sheet中:ID
Region
Place
Staff
thing1
thing2
thing3
thing4
thing5
在测试2中sheet:
ID
thing1
ID
thing2
ID
thing3
ID
thing4
ID
thing5
一切正常,但我的问题是,当我只有较少的项目时,ID 仍会在 test2 sheet 中,就像所有项目都存在一样。
ID
thing1
ID
thing2
ID
thing3
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]);
}
如果问题是即使这些记录的 ID 不存在也会创建新行,那么在写入 sheet 之前首先确保 ID 确实存在。所以在你的代码中,你会这样做:
if( thing1 ) sh2.appendRow([ID, thing1])
if( thing2 ) sh2.appendRow([ID, thing2])
// … and so on