SAS DDE 在单元格中写入多行

SAS DDE write multiple line in cell

我想在一个单元格中插入多行,但是 DDE 不能直接输入 '0A'x。

filename xlSheet1 dde "Excel|c:\test.xlsx.Report!R1.C1:R1.C3" notab;
data _null_;
    file xlSheet1;
    a = "test";
    b = cat("&sysdate","-", "&systime");

    c = translate("Hello World", '0A'x, " ",);

    put a '09'x b '09'x c ;
run;    

只有第一部分写在单元格中。

有什么好的建议吗?

嗯,我以为会有更简单的方法,但这是我能做的最简单的事情:

filename xlSheet1 dde "Excel|sheet1!R1C1:R1C1" notab;
data _null_;
    file xlSheet1;
    a = cat('="line1 " & Char(10) & "line2"');
    put a;
run;    

基本上将您的值转换为公式。使用公式将文本附加在一起并使用 excel 创建回车 return.

为此,单元格还需要使用 'wrap text' 选项进行格式化。事实上,如果你转到 excel 中的任何单元格并使用 alt-enter 手动创建一个 carraige return,你会注意到它会自动为你打开 'wrap text' 所以我没有认为这部分是可选的。