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' 所以我没有认为这部分是可选的。
我想在一个单元格中插入多行,但是 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' 所以我没有认为这部分是可选的。