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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.