Javascript 暂时性错误,使用if子句跳过空白单元格

Javascript 暂时性错误,使用if子句跳过空白单元格,javascript,performance,google-contacts-api,google-sheets-api,Javascript,Performance,Google Contacts Api,Google Sheets Api,这个程序应该遍历一系列包含电子邮件地址的电子表格单元格,然后将它们分配给联系人组。它非常慢,不断给我一个“暂时错误,请稍后再试”。很多单元格都是空的,我想这就是原因。你能帮我加快速度,这样我就不会出现暂时性错误(20-30个单元格之后)。我试图实现这个if子句,但它要么创建一个空白联系人(浪费我的配额),要么抛出一个null错误 If子句跳过空单元格: if(cell != "" && cell != null){ 我的剧本: function addContactstoGro

这个程序应该遍历一系列包含电子邮件地址的电子表格单元格,然后将它们分配给联系人组。它非常慢,不断给我一个“暂时错误,请稍后再试”。很多单元格都是空的,我想这就是原因。你能帮我加快速度,这样我就不会出现暂时性错误(20-30个单元格之后)。我试图实现这个if子句,但它要么创建一个空白联系人(浪费我的配额),要么抛出一个null错误

If子句跳过空单元格:

if(cell != "" && cell != null){
我的剧本:

function addContactstoGroup() {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName('NewEmails');

 var lastRow = sheet.getLastRow();
 var lastColumn = sheet.getLastColumn();



 var dataRange = sheet.getRange(2, 9, lastRow , lastColumn); //rows and columns start at 1, arrays start at 0.
 var data = dataRange.getValues();






 for (var i=1; i < lastRow; ++i){ //rows
 var groupHeaderRange = sheet.getRange(i+1,9);
 var groupHeader = groupHeaderRange.getValue();

 for(var j=1; j < lastColumn; ++j){ //columns

 var cell = data[i][j].getRange;

 if(cell != "" && cell != null){

 var groups = data[i][9];
 var cell = sheet.getRange(i+2,j+9);

 var contactGroup = data[i][0];
 var emailAddress = data[i][j];


 var contact = ContactsApp.createContact(null,null, emailAddress); // insert null   http://stackoverflow.com/questions/20600852/how-to-add-a-contact-without-a-name-in-gas
 var group = ContactsApp.getContactGroup(contactGroup);

 group.addContact(contact);//or should this just be emailAddress

 cell.clear();



};

groupHeaderRange.clear();

};





//}else{break;};



};

};
谢谢你!!!我只编写了几个月的代码,我不明白为什么会出现这种情况

谢谢

  • 尝试将
    var cell
    更改为
    var cell=data[i][j]那么您的if语句应该可以工作

  • 您的暂时性错误可能是由无效的电子邮件地址引起的。i、 e.不存在的电子邮件地址或电子邮件地址中无法看到的空白

  • 您可以通过选择包含要查找或替换的电子邮件地址的范围来查找和删除空白。在“查找”字段中,放入1个空格,然后单击“全部替换”


    如果您可以提供一个带有虚拟电子邮件地址的虚拟电子表格,那么就更容易看到我们是否可以提高代码的效率。

    代码中的哪一行触发了暂时性错误?它位于内部循环的某个位置。我相信詹姆斯可能已经用他的建议解决了这个问题,但是…将会更新。我认为使用.getrange刚刚修复了这个程序。它迅速而准确地完成了所有的事情。让我把一些电子邮件地址,我会让你知道!在if子句中,null后面还有一个空格。我一直收到一个“空”错误。删除了空格并修复了它。仍然每隔一段时间会出现一次暂时性错误。如果我看到一个patturn.after
    if(cell!=“”&&cell!=null){
    add
    Logger.log(cell);
    这会告诉你是什么电子邮件地址导致了问题。或者转到View->Execution transcript,复制并粘贴最后五行,以便我可以查看错误。
    var contact = ContactsApp.createContact(null,null, emailAddress); // insert null