【问题标题】:Google Script reformat getValues result谷歌脚本重新格式化 getValues 结果
【发布时间】:2020-07-18 06:02:28
【问题描述】:

我在表格中有一个小的 Google 脚本,它抓取一行数据,然后我通过电子邮件发送它。到目前为止它工作正常,但我真的很想重新格式化正文消息以看起来更干净。

var bodyData = e.source.getActiveSheet().getRange(row, 1, 1, 8).getValues();

bodyData 是我发送的内容,现在是逗号分隔的文本行:

123456,Driver,Destination,BOL,80,Fri Jul 17 2020 15:46:58 GMT-0500 (Central Daylight Time),Fri Jul 17 2020 15:47:18 GMT-0500 (Central Daylight Time),Test

这工作正常,但我想重新格式化并清理它有一个字符串,如:

取件号码:123456

司机:司机

目的地:目的地

提单:BOL

吨:80

输入日期:2020 年 7 月 17 日星期五 15:46:58 GMT-0500(中部夏令时间)

最后更改时间:2020 年 7 月 17 日星期五 15:47:19 GMT-0500(中部夏令时间)

注意:测试

如果没有额外的空白行,我必须在其中放置以防止它在这篇文章中将所有内容合并在一起。非常感谢您对此事的任何帮助!

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    如果您只想将逗号分隔值 (csv) 字符串转换为格式化字符串,您可以使用字符串方法 split(",") 拆分 csv 字符串,该方法返回一个值数组,您可以根据需要对其进行格式化。下面给出的例子。但是,由于您可以发送 HTML 电子邮件正文,因此请考虑使用 HTMLService 以使用 HTML 模板格式化值。

    // usage: var desiredString = csvToString(bodyData);
    
    function csvToString(csv) {
      const values = csv.split(",");
      return `Pickup Number: ${values[0]}
    Driver: ${values[1]}
    Destination: ${values[2]}
    Bill of Landing: ${values[3]}
    Tons: ${values[3]}
    Date Entered: ${values[4]}
    Last Changed: ${values[5]}
    Note: ${values[6]}`;
    }
    

    【讨论】:

    • 根据您的回答,我只能得到 var formatText = Pickup Number: ${bodyData[0][0]} + "%0D%0A" + `Driver: .... 让我在电子邮件中返回该行正在创建插入超链接公式!感谢您为我指明正确的方向!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多