【问题标题】:Export email body into Google Sheets into more than one cell将电子邮件正文导出到 Google 表格中的多个单元格
【发布时间】:2016-05-10 03:41:56
【问题描述】:

我有下面的代码,用于导出具有特定标签的特定 gmail 邮件的正文。

问题在于它将正文解析为谷歌表格中的一个单元格。

但是,如果我手动复制然后“粘贴值”将数据粘贴到 Google 工作表中,则 gmail 正文的表格格式将保持在所需数量的单元格中。

如何将“粘贴值”元素添加到代码中?

var sheet = SpreadsheetApp.getActiveSheet();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

function getEmails() {
  var label = GmailApp.getUserLabelByName("Nanigans");
  var threads = label.getThreads();
  var row = 2;
  for (var i = 0; i < threads.length; i++) {
    var messages=threads[i].getMessages();
    for (var m=0; m < messages.length; m++) {   
      (sheet.getRange(row,1).setValue(messages[m].getPlainBody()),  {contentsOnly: true});
      row++;
    }
  }
}

function onOpen() {
  var menuEntries = [ {name: "Load Emails", functionName: "getEmails"} ];
  spreadsheet.addMenu("Email", menuEntries);
}

【问题讨论】:

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


    【解决方案1】:

    我不知道为什么让文本跨越多个单元格更好,但这就是你可以做到的。

    var message = messages[m].getPlainBody(); 
    var strSplit = str.split('\n').map(function(a) {return [a.trim()];});
    sheet.getRange(row, 1, strSplit.length, 1).setValues(strSplit);
    

    第二行代码分割字符串并将片段分成单独的行,同时修剪换行符周围的空白。

    【讨论】:

    • 谢谢三明治,我在电子邮件中列出了数据,因此希望将其格式保留到谷歌表格中。我已经尝试过您的代码,但收到错误消息:ReferenceError: "str" is not defined.
    猜你喜欢
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多