楼主: DABUSHAN
3304 4

DDE如何实现删除excel模板中特定的某纵列 [推广有奖]

  • 0关注
  • 0粉丝

大专生

35%

还不是VIP/贵宾

-

威望
0
论坛币
100 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
2 点
经验
722 点
帖子
33
精华
0
在线时间
46 小时
注册时间
2013-6-19
最后登录
2014-12-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. DATA TEST;
  2. ARRAY C{6};
  3. DO I=1 TO 5;
  4. DO J=1 TO DIM(C);
  5. C(J)=round(10*ranuni(0),1);
  6. END;
  7. OUTPUT;
  8. END;
  9. DROP I J;
  10. RUN;
复制代码
Excel表格模板.gif
表格头模板

求教DDE大神们,图表为外部EXCEL表格头模板,代码中的TEST是随机生成的测试数据 ,如何结合TEST和表格模板生成另外一个新的EXCEL,要求新生成的EXCEL表中C1-C6含有0所对应的纵列被删除输出。

比如:
完全输出.gif
完全输出,TEST中C1变量包含0


特定条件输出.gif
表格模板中C1(含0)列被删除后,另存为新的EXCEL中。


期待DDE大神们发话。。。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:excel模板 EXCEL exce xcel 如何实现 DDE 删除excel 特定纵列

沙发
下一片蓝天 发表于 2014-10-6 16:48:19 |只看作者 |坛友微信交流群
还是有点不明白                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 

使用道具

藤椅
DABUSHAN 发表于 2014-10-7 08:08:30 |只看作者 |坛友微信交流群
下一片蓝天 发表于 2014-10-6 16:48
还是有点不明白                                                                        
            ...
其核心问题就是利用DDE删除外部excel中某一纵列的问题。。。test只是随机生成的测试数据,请问大神是哪里还没弄懂哎

使用道具

板凳
DABUSHAN 发表于 2014-10-7 16:58:21 |只看作者 |坛友微信交流群
自己顶顶,期待大神们冒泡。。。

使用道具

报纸
DABUSHAN 发表于 2014-10-9 11:59:08 |只看作者 |坛友微信交流群
options noxwait noxsync;
x '"D:\报表模板.xlsx"';   
data _null_;
rc=sleep(2);           
run;

filename cmds dde 'excel|system';
data _null_;
file cmds;
/* Insert an Excel Macro Sheet */
put '[workbook.insert(3)]';
run;

/* Direct the Output to the Newly created Macro Sheet */
filename xlmacro dde 'excel|macro1!r1c1:r5c1' notab;

data _null_;
file xlmacro;
put '=workbook.name("sheet1","NewSheet")';
put '=halt(true)';
/* Dump the contents of the buffer, allowing us to both write and */
/* execute the macro in the same DATA Step                        */
put '!dde_flush';
file cmds;
/* Run Macro1 */
put '[workbook.activate("Sheet1")]';
put '[SELECT("r5c3:r60c9")]';
put '[SORT(1,"r5c3",1)]';       *从第5行开始,对C列(r5c3)进行排序;
put '[run("macro1!r1c1")]';     *执行macro1表中第一行第一列中(r1c1)的命令;
put '[error(false)]';
/* delete the Macro Sheet */
put '[workbook.delete("macro1")]';  *删除宏表macro1的命令;
*put '[workbook.delete("NewSheet!c3:c3")]';
*put '[workbook.NewSheet.delete("c3:c3")]';
run;


尝试了*put '[workbook.delete("NewSheet!c3:c3")]';
*put '[workbook.NewSheet.delete("c3:c3")]';
试图在DDE中删除模板表中的第3列,不过不成功 ,求牛人们解答

报表模板.xlsx

14.12 KB

报表模板

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 03:45