0

我只是想将 SAS 数据集导出到预制的 Excel 模板中。

我的数据集(这是一个 .wpd 文件)的前 6 个变量如下所示:

StartDate     EndDate    product_code   Description               Leaflet    Media
04-Jul-13    07-Jul-13    256554    BUTCHER BEEF 1PK (1 KGM)       54x10        3   

我目前有:

options noxwait noxsync;
x '"c:\Template.xls"'; /* <--excel template to use*/
filename template dde 'excel|Leaflets!r6c1:r183c67';   /*put data in rows 3 to 183 in leaflets sheet*/


data LEAF.results; set LEAF.results;
file template ;
     put StartDate   EndDate   product_code   Description   Leaflet  Media  
         /*and the remaining 61 variables*/    
run;

DDE 程序运行并打开 excel 工作表,但数据在 excel 中的格式不正确,如下所示:

StartDate      EndDate      Product code   Description  Leaflet      Media
04 July 2013   07 July 2013    256554      BUTCHER         BEEF       1PK

如您所见,它似乎已将空格视为分隔符,但我不确定更改它的语法 - 可能还值得注意的是,我的实际数据集中有 67 个变量,因此不想提供信息和格式他们都是单独的。

另外,有没有办法将此数据集输出到我的 excel 模板中,然后将模板另存为我 c 驱动器上其他地方的不同文件名?

谢谢!

4

2 回答 2

2

在阳光下尝试了每个 DDE 选项后,我终于偶然发现了 LRECL。

所以,

options noxwait noxsync;
x '"c:\Template.xls"'; /* <--excel template to use*/
filename template dde 'excel|Leaflets!r6c1:r183c67' notab **LRECL=3000**;   /*put data in rows 6 to 183 in leaflets sheet*/


data LEAF.results; set LEAF.results;
file template ;
     put StartDate   EndDate   product_code   Description   Leaflet  Media  
         /*and the remaining 61 variables*/    
run;

我猜每个单元格中允许的默认字符长度太短,所以增加允许的长度意味着每个单元格不会被分成多个单元格?

来源: http: //support.sas.com/resources/papers/proceedings11/003-2011.pdf

于 2013-09-03T09:39:16.530 回答
1

尝试更改file template ;为使用制表符的分隔符,即file template dlm='09'x;;

另外,在文件名中,添加 'notab': filename template dde ​​'excel|Leaflets!r6c1:r183c67' notab;

于 2013-08-15T14:33:06.610 回答