【问题标题】:Google Script: how to send Tablechart in e-mail? [duplicate]Google Script:如何在电子邮件中发送表格图表? [复制]
【发布时间】:2018-10-21 20:44:26
【问题描述】:

我正在用 Google Script 创建一个表格,我想通过电子邮件发送它。

这是我的代码

var data = Charts.newDataTable()
      .addColumn(Charts.ColumnType.STRING, 'Month')
      .addColumn(Charts.ColumnType.NUMBER, 'In Store')
      .addColumn(Charts.ColumnType.NUMBER, 'Online')
      .addRow(['January', 10, 1])
      .addRow(['February', 12, 1])
      .addRow(['March', 20, 2])
      .addRow(['April', 25, 3])
      .addRow(['May', 30, 4])
      .build();

  var chart = Charts.newTableChart()
      .setDataTable(data)
      .enableSorting(true)
      .build();

  MailApp.sendEmail({
    to: "me@gmail.com",
    subject: "Test",
    htmlBody: "inline Google Logo<img src='cid:inImage'> images! <br>",
    inlineImages:
      {
        inImage: chart.getBlob().setContentType('image/png'),
      }
  });

代码在chart.getBlob().setContentType('image/png') 上给出以下错误消息:

“很抱歉,出现服务器错误。请稍候,然后重试”。

有人知道这是怎么回事吗?

谢谢!

【问题讨论】:

    标签: email google-apps-script google-visualization


    【解决方案1】:

    这个修改怎么样?

    发件人:

    var chart = Charts.newTableChart()
        .setDataTable(data)
        .enableSorting(true)
        .build();
    

    收件人:

    var chart = Charts.newTableChart()
        .setDataTable(data)
        .enableSorting(true)
        .setDimensions(640, 480) // Added
        .build();
    

    它使用setDimensions()设置图表的大小。

    注意:

    • 您也可以使用chart.getAs('image/png') 代替chart.getBlob().setContentType('image/png')

    参考:

    如果这不是你想要的,请告诉我。我想修改它。

    【讨论】:

    • HI Tanaike,设置尺寸完成了工作,太棒了!非常感谢。
    • 谢谢@Tanaike,这个也帮了我一个忙:stackoverflow.com/questions/71241636/…如果你喜欢,你也可以去那里留下你的答案
    • @Luis Alberto Delgado de la Flo 感谢您的评论。我很高兴你的问题得到了解决。不幸的是,当我将您的问题标记为重复问题时,我注意到它无法完成,因为这个问题不被接受。因此,我想将其发布到您的问题中作为答案。这样,当您的问题被接受时,该问题可以被标记为重复问题。
    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多