google-apps-script - Google 脚本无法写入/读取 Google 工作表并为 getValue() 提供错误“异常:输入数字”
问题描述
我有一个 onFormSubmit 函数,它触发 onFormSubmit 并从外部来源获取提交条目的一些附加信息。在第 113 行之前似乎很好。行之前的记录器输出是正确的,但是那行代码没有写入工作表。第 114 行给出错误消息“异常:输入数字”。我无法弄清楚问题是什么。非常感谢任何见解。这是代码:(表ID被删除)
var moment = Moment.load();
function onFormSubmit(e) {
var eventObject = getFormResponse();
var sheetr = SpreadsheetApp.openById("****").getSheetByName("Form Responses 1");
var sheet = SpreadsheetApp.openById("****").getSheetByName("Sheet1");
var orders = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
var sheettlrcor=SpreadsheetApp.openById("****").getSheetByName("Sheet1");//
var sheettl2wor=SpreadsheetApp.openById("****").getSheetByName("Sheet1");//
var tlrcor=sheettlrcor.getRange(1,1,sheettlrcor.getLastRow(),sheettlrcor.getLastColumn()).getValues();//
var tl2wor=sheettl2wor.getRange(1,1,sheettl2wor.getLastRow(),sheettl2wor.getLastColumn()).getValues();
for (var k = orders.length-1; k >0; k--) {
if (orders[k][0] != "" && e.source.getActiveSheet().getRange(e.range.rowStart, 2).getValue().toString().toUpperCase()==(orders[k][1].toString().toUpperCase()) ){
e.source.getActiveSheet().getRange(e.range.rowStart,16).setValue(orders[k][10]);
var value = SpreadsheetApp.newRichTextValue()
.setText("Create Return Label")
.setLinkUrl("https://apps.goshippo.com/orders?q="+orders[k][1])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,14).setRichTextValue(value);
var value1 = SpreadsheetApp.newRichTextValue()
.setText(orders[k][1])
.setLinkUrl(orders[k][45])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,13).setRichTextValue(value1);
break;
}
}
if(k==0)
for (var k = orders.length-1; k >0; k--) {
if (orders[k][0] != "" && e.source.getActiveSheet().getRange(e.range.rowStart, 3).getValue().toString().toUpperCase()==orders[k][10].toString().toUpperCase()&& e.source.getActiveSheet().getRange(e.range.rowStart, 2).getValue().toString().toUpperCase().includes(orders[k][1].toString().toUpperCase()) ){
e.source.getActiveSheet().getRange(e.range.rowStart,16).setValue(orders[k][10]);
var value = SpreadsheetApp.newRichTextValue()
.setText("Create Return Label")
.setLinkUrl("https://apps.goshippo.com/orders?q="+orders[k][1])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,14).setRichTextValue(value);
var value1 = SpreadsheetApp.newRichTextValue()
.setText(orders[k][1])
.setLinkUrl(orders[k][45])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,13).setRichTextValue(value1);
break;
}
}
if(k==0)
for (var k = orders.length-1; k >0; k--) {
if(orders[k][10]+""!=""&& e.source.getActiveSheet().getRange(e.range.rowStart, 3).getValue().toString().toUpperCase()==orders[k][10].toString().toUpperCase()){
e.source.getActiveSheet().getRange(e.range.rowStart,16).setValue(orders[k][10]);
var value = SpreadsheetApp.newRichTextValue()
.setText("Create Return Label")
.setLinkUrl("https://apps.goshippo.com/orders?q="+orders[k][1])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,14).setRichTextValue(value);
var value1 = SpreadsheetApp.newRichTextValue()
.setText(orders[k][1])
.setLinkUrl(orders[k][45])
.build();
e.source.getActiveSheet().getRange(e.range.rowStart,13).setRichTextValue(value1);
break;
}
}
var emailAddress1 = e.source.getActiveSheet().getRange(e.range.rowStart,3).getValue();
var subject1 = '*****';
var message1 = '*****'; // Second column
try{
var emailAddress1 = e.source.getActiveSheet().getRange(e.range.rowStart,3).getValue();
if(emailAddress1+""!="")
MailApp.sendEmail(emailAddress1, subject1, message1, {
cc: e.source.getActiveSheet().getRange(e.range.rowStart,16).getValue(),
replyTo: '***',
name: '***'
});
}catch(error){
var emailAddress1 = e.source.getActiveSheet().getRange(e.range.rowStart,16).getValue();
if(emailAddress1+""!="")
try{
MailApp.sendEmail(emailAddress1, subject1, message1, {
cc: e.source.getActiveSheet().getRange(e.range.rowStart,3).getValue(),
replyTo: '****',
name: '****'
});
}catch(err){
MailApp.sendEmail(emailAddress1, subject1, message1, {
replyTo: '*****',
name: '****'
});
}
}
e.source.getActiveSheet().getRange(e.range.rowStart,20).setBorder(null, true, null, null, null, null);
e.source.getActiveSheet().getRange(e.range.rowStart,23).setBorder(null, null, null, true, null, null);
for(var q=e.source.getActiveSheet().getLastRow();q>0;q--){
if((e.source.getActiveSheet().getRange(q,2).getValue()+"").includes(e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue()+"")&&e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue()+""!=""){
break;
}
}
var found3=false;
Logger.log((e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue()+"").toString().toUpperCase());
for(var m=tlrcor.length-1;m>0;m--){
if((tlrcor[m][1]+"").toString().toUpperCase().includes((e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue()+"").toString().toUpperCase())&&tlrcor[m][33]+""!=""){
Logger.log(tlrcor[m][33]);
found3=true;
try{var trinfo=_17trackinfo(tlrcor[m][33]+"");}catch(er){Logger.log(er);var trinfo=[["",""]];}
Logger.log(trinfo+" a");
const value2 = SpreadsheetApp.newRichTextValue()
.setText(tlrcor[m][33]+"")
.setLinkUrl("https://t.17track.net/en#nums="+tlrcor[m][33]+"")
.build();
Logger.log(q);
Logger.log("a1");
Logger.log(value2);
try{sheetr.getRange(q,35).setRichTextValue(value2);}catch(el){Logger.log(el);sheetr.getRange(e.range.rowStart,35).setValue(tlrcor[m][33]+"");}
Logger.log(sheetr.getRange(1551,2).getValue());
if((trinfo[0][0]+"").toString().toUpperCase().includes("DELIVERED")){
sheetr.getRange(q,36).setValue(trinfo[0][1]);
Logger.log(e.source.getActiveSheet().getRange(e.range.rowStart,36).getValue());
sheetr.getRange(q,37).setValue(((moment(trinfo[0][1]).toDate()-moment(sheetr.getRange(q,1).getValue()).toDate())/1000/60/60/24).toFixed(2)+" days");
}
break;
}
}
if(found3==false){
var found4=false;
for(var p=tl2wor.length-1;p>0;p--){
if((tl2wor[p][1]+"").toString().toUpperCase().includes((e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue()+"").toString().toUpperCase())&&tl2wor[p][33]+""!=""){
Logger.log(tl2wor[p][33]);
found4=true;
try{ var trinfo=_17trackinfo(tl2wor[p][33]+"");}catch(e1){Logger.log(e1);var trinfo=[["",""]];}
Logger.log(trinfo+" b");
const value3 = SpreadsheetApp.newRichTextValue()
.setText(tl2wor[p][33]+"")
.setLinkUrl("https://t.17track.net/en#nums="+tl2wor[p][33]+"")
.build();
sheetr.getRange(q,35).setRichTextValue(value3);
if((trinfo[0][0]+"").toString().toUpperCase().includes("DELIVERED")){
sheetr.getRange(q,36).setValue(trinfo[0][1]);
sheetr.getRange(q,37).setValue(((moment(trinfo[0][1]).toDate()-moment(e.source.getActiveSheet().getRange(q,1).getValue()).toDate())/1000/60/60/24).toFixed(2)+" days");
}
break;
}
}
}
}
这是日志的输出:
Stackdriver logs
Sep 16, 2020, 11:02:08 PM Info PA23453
Sep 16, 2020, 11:03:25 PM Info 3.9538180997E11
Sep 16, 2020, 11:03:27 PM Info Delivered,2020-08-11 13:40,SPARTANBURG, SC,Delivered,,, a
Sep 16, 2020, 11:03:27 PM Info 1567.0
Sep 16, 2020, 11:03:27 PM Info a1
Sep 16, 2020, 11:03:27 PM Info com.google.apps.maestro.server.beans.trix.impl.RichTextValueApiAdapter@d5de711
Sep 16, 2020, 11:03:27 PM Error Exception: Enter a number
at onFormSubmit(Code:114:48)
解决方案
推荐阅读
- visual-c++ - 函数调用 Visual c++ 中未找到标识符错误
- bash - 为什么以下两个示例给出不同的排序顺序?
- php - 如何向 WooCommerce 产品添加(第二个)自定义 sku 字段?
- javascript - HTML: JQuery 如何使用 JQuery 获取 data-dk-dropdown-value
- django - 无法连接到服务器 postgres django
- c - 父母不会通过 sigqueue 调用接收信号 - C
- javascript - 如何测试构造函数中抛出的错误?
- angular - 如何导致另一个组件的更新?
- c - 如何解决hackerrank中此代码的超时错误
- ios - GitHub 操作 IOS xcode QA/Staging 和颁发证书和配置文件