一个很奇怪的问题,IMPORTCLIPBOARD()函数的如何指定在DATAWINDOW的某一行开始粘贴

nhcxc 2008-02-19 04:18:41
客户有N个EXCEL文件,格式都不相同,所以只能用复制粘贴把数据导入到DATAWINDOW里面。

我的代码如下:

long startcolumn

startcolumn=dw_1.getcolumn( )

dw_1.importclipboard(1,0,1,0,startcolumn)
clipboard( "")

现在的问题是,我如何才能从DATAWINDOW里面指定的某一行开始粘贴数据。
例如,我现在需要把CLIPBOARD里面的数据在DATAWINDOW的第N行第M列开始粘贴,但上面的代码得出来的结过是从第N+1行第M列开始粘贴。

...全文
340 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lzheng2001 2008-03-23
哦,上面说的不正确,没看清楼主的意思, 但dw(ds)也可以选取某个范围进行操作,至少不用一行一行的来. 参考rowscopy,rowsmove 或者 dw.data 的用法
回复
lzheng2001 2008-03-23
无论如何也不用另外加一个ds吧,这样肯定会慢了!
即使不能插入到第一行,你也可以在复制完成后,把第一行移动到你想要的位置.
回复
nhcxc 2008-03-21
这里的STARTROW 是指CLIPBOARD里面的你想要粘贴的内容的起始行。而不是粘贴到DW的起始行。其实我已经想到方法了,问题已经解决,先建立一个datastore 然后把clipboard的数据IMPORT到datastore,在一条一条的读到dw里面去。不过这样数据量大的时候就会慢。。但也没有办法了。
回复
lzheng2001 2008-03-13
long dwcontrol.ImportClipboard ( {saveastype importtype}, { long startrow {, long endrow {, long startcolumn {, long endcolumn {, long dwstartcolumn } } } } } )

你调整一下startrow 参数的值就可以得到你想要的效果,如果你说结果是N+1,那么把n的值再调小1不就是你想要的位置了吗?
回复
bpy 2008-03-12
gz
回复
AFIC 2008-02-20
没看太明白,行不对你再rowsmove不行吗?
回复
nhcxc 2008-02-19
大哥有没有其他办法可以在当前行导入数据?
回复
leio 2008-02-19
importclipboard只是导入新数据(也就增加新行),而不能覆盖你原有的数据行。
你的startcolumn取的是当前行(N),再增加新数据自然就是下一行(N+1)。
回复
nhcxc 2008-02-19
等了几个小时了。。。怎么没有人回复呢?分不够吗?
回复
nhcxc 2008-02-19
澄清一下,我所说的“第N行”指的是DATAWINDOW,而不是CLIPBOARD里面的数据。各位大哥帮帮忙。。在线等。急。
回复
相关推荐
发帖
PowerBuilder
创建于2007-09-28

866

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-02-19 04:18
社区公告
暂无公告