Your SAS programs, embedded in web apps and elsewhere

ODS EXCEL in Web StoredProcess

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 10
Accepted Solution

ODS EXCEL in Web StoredProcess

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?


Accepted Solutions
Solution
‎07-26-2016 03:53 AM
SAS Super FREQ
Posts: 683

Re: ODS EXCEL in Web StoredProcess

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

View solution in original post


All Replies
Solution
‎07-26-2016 03:53 AM
SAS Super FREQ
Posts: 683

Re: ODS EXCEL in Web StoredProcess

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

Occasional Contributor
Posts: 10

Re: ODS EXCEL in Web StoredProcess

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?

SAS Super FREQ
Posts: 683

Re: ODS EXCEL in Web StoredProcess

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

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 1111 views
  • 0 likes
  • 2 in conversation