一个很奇怪的问题,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列开始粘贴。

...全文
664 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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_r 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里面的数据。各位大哥帮帮忙。。在线等。急。

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧