You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script中将柱状图以image/png发送并添加邮件右上角Logo

解决方案:将图表嵌入邮件正文 + 添加Drive Logo到右上角

一、把柱状图以PNG格式嵌入邮件正文

你的现有代码已经生成了图表的base64数据,整合到邮件里有两种可靠方式:

方式1:直接使用Data URI(简单但兼容性略差)

直接把生成的imageUrl放到邮件HTML正文中,用MailApp.sendEmail发送时指定htmlBody参数即可:

// 生成图表的base64 URL
var imageData = Utilities.base64Encode(chart.getAs('image/png').getBytes());
var imageUrl = "data:image/png;base64," + imageData;

// 构建邮件HTML内容
var emailHtml = `
  <p>First part</p>
  <img border="1" src="${imageUrl}" alt="柱状图">
`;

// 发送邮件
MailApp.sendEmail({
  to: "收件人邮箱@example.com",
  subject: "包含图表的邮件",
  htmlBody: emailHtml
});

注意:部分老旧邮件客户端可能不支持data URI,更推荐下面的方式2。

方式2:使用附件CID引用(兼容性拉满)

把图表作为邮件附件,在HTML里通过cid:引用附件ID,所有邮件客户端都支持:

// 将图表转为Blob
var chartBlob = chart.getAs('image/png');
// 自定义唯一CID标识
var chartCid = "chart123";

// 构建邮件HTML内容
var emailHtml = `
  <p>First part</p>
  <img border="1" src="cid:${chartCid}" alt="柱状图">
`;

// 发送邮件并添加带CID的附件
MailApp.sendEmail({
  to: "收件人邮箱@example.com",
  subject: "包含图表的邮件",
  htmlBody: emailHtml,
  attachments: [chartBlob.setName("柱状图.png").setContentId(chartCid)]
});

二、添加Drive中的Logo到邮件正文右上角

推荐用CID附件方式(避免Drive权限或链接失效问题),步骤如下:

  1. 设置Logo文件权限:打开Drive里的Logo文件,点击「共享」→ 设置为「Anyone with the link can view」,确保收件人能访问
  2. 代码实现:
// 替换为你的Logo文件ID(从Drive文件URL末尾提取)
var logoFileId = "你的Logo文件ID";
var logoBlob = DriveApp.getFileById(logoFileId).getBlob();
var logoCid = "logo456"; // 自定义唯一CID

// 构建带右上角Logo的邮件HTML(用CSS定位)
var emailHtml = `
  <div style="position: relative; margin-bottom: 20px;">
    <img src="cid:${logoCid}" alt="Logo" style="position: absolute; top: 0; right: 0; width: 100px;"> <!-- 可调整width设置Logo大小 -->
  </div>
  <p>First part</p>
  <img border="1" src="cid:chart123" alt="柱状图">
`;

// 发送邮件,同时添加图表和Logo附件
MailApp.sendEmail({
  to: "收件人邮箱@example.com",
  subject: "包含图表和Logo的邮件",
  htmlBody: emailHtml,
  attachments: [
    chartBlob.setName("柱状图.png").setContentId("chart123"),
    logoBlob.setName("Logo.png").setContentId("logo456")
  ]
});

补充:不用附件的替代方案

如果不想把Logo作为附件,可直接用Drive嵌入链接:
获取Logo文件的嵌入链接(共享设置里找「嵌入代码」,提取src部分,格式为https://drive.google.com/uc?export=view&id=文件ID),然后在HTML中使用:

<img src="https://drive.google.com/uc?export=view&id=你的Logo文件ID" alt="Logo" style="position: absolute; top: 0; right: 0; width: 100px;">

但这种方式依赖Drive链接稳定性,部分邮件客户端可能拦截外部图片,优先推荐CID附件方式。

内容的提问来源于stack exchange,提问作者Aibek Akhmetkazy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:21:03