I have the same problem as described in the post https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-EXCEL-in-Web-StoreProcess/m-p/270003#M1586...
Also my stored process will run in Web, I would generate a report with ODS EXCEL and user should download the file.
I tryed the solution, but I don't get a valid result. The generated file contains html and any binary data. Here the code I used:
ods _all_ close;
data _null_;
rc = stpsrv_header('Content-type','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
rc = stpsrv_header('Content-disposition','attachment; filename=test.xlsx');
run;
%stpbegin;
ods excel file = _webout ;
ods excel style = Plateau;
proc print noobs label data=sashelp.TOURISM; run;
%stpend;
ods excel close;
Attached the generated file.
Any suggestions?
Hi
Your code should look like this:
ods excel file=_webout style=plateau;
data _null_;
rc = stpsrv_header('Content-type','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
rc = stpsrv_header('Content-disposition','attachment; filename=test.xlsx');
run;
proc print noobs label data=sashelp.class;
run;
ods excel close;
If you use SAS Enterprise Guide to create the Stored Process, make sure EG does not automatically add the %stpbegin %stpend macros
Bruno
Hi
Your code should look like this:
ods excel file=_webout style=plateau;
data _null_;
rc = stpsrv_header('Content-type','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
rc = stpsrv_header('Content-disposition','attachment; filename=test.xlsx');
run;
proc print noobs label data=sashelp.class;
run;
ods excel close;
If you use SAS Enterprise Guide to create the Stored Process, make sure EG does not automatically add the %stpbegin %stpend macros
Bruno
Thank you for your reply.
When I do it so, I get an exception:
javax.servlet.ServletException: Servlet execution threw an exception
com.sas.svcs.webapp.servlet.filters.LocaleFilter.onDoFilter(LocaleFilter.java:69)
com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:74)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
com.sas.svcs.webapp.servlet.filters.ThemeSupportFilter.onDoFilter(ThemeSupportFilter.java:180)
com.sas.framework.webapp.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:74)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
Any ideas?
Hi
The proposed code worked well for me with SAS9.4 on a Linux environment.
I think it is best to contact SAS support for problems like this. See here http://support.sas.com/techsup/
Bruno
hi,
how can I print a title on the web page after export?
thanks
Niko
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.