首页 > 解决方案 > 将自由文本添加到 Excel 电子表格

问题描述

我有以下 SAS 程序,它创建一个 excel 工作簿并将 a 的输出proc tabulate放入多个工作表/寄存器(BY var1)中:

ODS EXCEL FILE="/projects/myFile.xlsx" options(
    frozen_headers="4"
    sheet_name="#byval1"
    embedded_titles="yes"
    embedded_footnotes="yes");

    PROC TABULATE DATA=table;
        BY var1;
        TITLE 'My Title';
        FOOTNOTE '© 2020 by Company';
        CLASS ...;
        TABLES ...;
    RUN;
ODS EXCEL CLOSE;

所以我的问题是:

*1。如何在开头添加一个额外的表格,我可以在其中编写一些自由文本信息(例如元数据)

*2。我怎样才能直接在 proc tabulate 生成的表格下方添加一些额外的自由文本(例如一些解释表格的句子)?

*3。有没有办法指定此类文本元素的外观?(例如文字颜色或文字大小)

标签: excelsasods

解决方案


您可以使用 ODS TEXT 来编写文本,但这似乎不会强制创建新工作表。或者,您可以使用带有FILE PRINTPUT语句的数据步骤来编写文本。或者只是用文本制作一个简单的数据集并写下来。使用额外的 ODS EXCEL options(...) 语句来设置 sheet_name。

%let path=/projects/;
ODS EXCEL FILE="&path.myFile.xlsx" options(sheet_name='Information');
data _null_ ;
  file print;
  put 'Hello world';
run;
ODS EXCEL options
    (frozen_headers="4"
     sheet_name="#byval1"
     embedded_titles="yes"
     embedded_footnotes="yes"
    )
;
proc print data=class; 
  by sex; 
run;
ods EXCEL close;

您可以使用其他 FOOTNOTE 语句在 PROC TABULATE 中的“页面”下方添加其他文本。如果您需要更多控制,则可能需要切换到 PROC REPORT 而不是 PROC TABULATE。

查看 ODS 样式设置,了解如何控制此部分的外观。


推荐阅读