-1

我在一个 xml 类型的 Excel 电子表格中将几个表输出到几个工作表中。

我遇到的问题是,在我输出的六个工作表中,最后四个也使用 body=test.html,以允许某些样式格式工作(仅当我使用 body= 命令时才有效)。但是,当它运行时,会输出前两个工作表,而不会输出最后四个工作表。

例如。

ods tagsets.excelxp file='example.xls' options(...sheet_name=sheet1...);

proc report;
run;

ods tagsets.excelxp options(...sheet_name=sheet2...);
proc tabulate;
run;

ods tagsets.excelxp body='test1.html' options(...sheet_name=sheet3...);
proc report;
run;
ods tagsets.excelxp body='test2.html' options(...sheet_name=sheet4...);
proc report;
run;
ods tagsets.excelxp body='test3.html' options(...sheet_name=sheet5...);
proc report;
run;
ods tagsets.excelxp body='test4.html' options(...sheet_name=sheet6...);
proc report;
run;

ods tagsets.excelxp close;

前两个输出正常,但最后四个不是。我尝试为每个 ods tagsets.excelxp 行放置body='test.html',但它不起作用,只输出第一张表。我不能跳过 ods tagsets.excelxp 行,因为我需要为每张工作表提供不同的选项......有没有办法在同一个电子表格中输出这些?我不允许使用 VBA 或任何手动干预。

4

1 回答 1

0

您不能将 tagsets.ExcelXP 输出到 HTML 文件并期望它像 XML 一样工作。

您需要将前两个输出proc tabulate到 ExcelXP 标记集目标,关闭标记集,为每个 HTML 文件打开一个新的 HTML 目标,运行proc report,然后关闭 HTML。

ods tagsets.excelxp file='example.xls' options(...sheet_name=sheet1...);
过程报告;
跑;

ods tagsets.excelxp options(...sheet_name=sheet2...);
制表;
跑;
ods tagsets.excelxp 关闭;


ods html body='test1.html' ;
过程报告;
跑;
ods html 关闭;

ods html body='test1.html' ;
过程报告;
跑;
ods html 关闭;

ods html body='test2.html' ;
过程报告;
跑;
ods html 关闭;

ods html body='test4.html' ;
过程报告;
跑;
ods html 关闭;

于 2015-04-18T17:51:40.660 回答