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

如何在SAS邮件正文中同时嵌入图表与表格?

SAS实现图表与表格同屏邮件正文的解决方案

核心思路是分别生成图表和表格的HTML片段,将二者整合为一个完整的HTML文档后,以HTML格式发送邮件。

具体步骤与代码示例

1. 生成图表的HTML片段

使用PROC SGPLOT生成图表,通过ODS HTML输出为HTML文件:

ods html file="temp_chart.html" style=htmlblue;
proc sgplot data=sashelp.class;
  hbar age / response=height group=sex;
run;
ods html close;

2. 生成表格的HTML片段

用PROC PRINT(或其他报表过程)生成表格,同样通过ODS HTML输出:

ods html file="temp_table.html" style=htmlblue;
proc print data=sashelp.class noobs;
run;
ods html close;

3. 合并HTML内容为完整邮件正文

编写DATA步读取两个临时HTML文件,提取正文部分并合并成标准HTML文档:

data _null_;
  file "final_email.html";
  /* 写入HTML基础结构 */
  put '<!DOCTYPE html>';
  put '<html><head>';
  put '<title>班级信息报表</title>';
  put '<style>body {font-family: Arial, sans-serif; margin: 20px;}</style>';
  put '</head><body>';

  /* 插入图表内容 */
  put '<h3>学生身高分布</h3>';
  infile "temp_chart.html" truncover;
  input line $char1000.;
  /* 跳过HTML头部,定位到body内内容 */
  do while(index(line,'<body') = 0);
    input line $char1000.;
  end;
  input line $char1000.;
  do while(index(line,'</body') = 0);
    put line;
    input line $char1000.;
  end;

  /* 添加分隔线,插入表格内容 */
  put '<hr style="margin: 20px 0;">';
  put '<h3>学生详细信息表</h3>';
  infile "temp_table.html" truncover;
  input line $char1000.;
  do while(index(line,'<body') = 0);
    input line $char1000.;
  end;
  input line $char1000.;
  do while(index(line,'</body') = 0);
    put line;
    input line $char1000.;
  end;

  put '</body></html>';
run;

4. 发送HTML格式邮件

通过FILENAME EMAIL指定邮件参数,读取合并后的HTML文件作为正文发送:

filename email email 
  to='收件人邮箱@xxx.com'
  from='发件人邮箱@xxx.com'
  subject='SAS报表:图表+表格整合'
  type='text/html';

data _null_;
  file email;
  infile "final_email.html" truncover;
  input line $char1000.;
  put line;
run;

filename email clear;

关键说明

  • 提取HTML正文时,通过判断<body>和</body>标签,避免重复的HTML头部/尾部代码干扰邮件渲染
  • 可通过调整style参数自定义邮件的字体、边距等样式,提升可读性
  • 若使用其他报表过程(如PROC REPORT)生成表格,只需替换对应PROC代码即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:50:17