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 open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.