我在一个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或任何手动干预。
答案 0 :(得分:0)
您无法将tagsets.ExcelXP输出到HTML文件,并希望它能够像XML一样工作。
您需要将前两个proc tabulate
输出到ExcelXP标记集目标,关闭标记集,为每个HTML文件打开一个新的HTML目标,运行proc report
,然后关闭HTML。
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 close; ods html body='test1.html' ; proc report; run; ods html close ; ods html body='test1.html' ; proc report; run; ods html close ; ods html body='test2.html' ; proc report; run; ods html close ; ods html body='test4.html' ; proc report; run; ods html close ;