Export to Excel 2010 just got a little bit easier

This post was kindly contributed by The SAS Dummy - go there to comment and to read the full post.

In case you missed it, the first maintenance release for SAS 9.3 was recently released. Because we’re all friends here, you may call it “SAS 9.3M1” for short.

Maintenance releases are usually about fixing problems that SAS has found or that customers have reported. However, sometimes a new capability might sneak out the door along with it. That’s what happened this time with improved XLSX support in PROC EXPORT.

Now for the first time, this round-trip import/export cycle works just as you would expect with no additional setup required:

proc export 
  data=sashelp.prdsale 
  dbms=xlsx 
  outfile="c:\temp\prdsale.xlsx" 
  replace;
run;
 
proc import 
  datafile="c:\temp\prdsale.xlsx" 
  dbms=xlsx 
  out=work.prdsale 
  replace;
run;

Remember: using the IMPORT and EXPORT procedures to read and write Microsoft Excel files requires the SAS/ACCESS to PC Files module. With these latest changes, you can get the job done without setting up a PC Files Server, even on systems that don’t have a 32-bit Windows architecture.

Prior to this support, most customers who run SAS for 64-bit Windows or on a UNIX platform would need to use DBMS=EXCELCS for this operation. The EXCELCS method works by delegating the Excel read/write to another Windows node that has a PC Files Server instance. (On 64-bit Windows, you can make it work with very little configuration using the “autostart” capability.)

The PC Files Server is still very useful for other scenarios, such as supporting the PCFILES LIBNAME engine, which can read and write Microsoft Excel and Microsoft Access files, among others.

And if you’re looking for a point-and-click method for creating XLSX files in SAS Enterprise Guide, we cracked that nut a while ago.

tags: excel 2007, pc files server, sas 9.3, SAS/ACCESS PC Files, xlsx

This post was kindly contributed by The SAS Dummy - go there to comment and to read the full post.