找回密码
 立即注册

QQ登录

只需一步,快速开始

octoberfour

注册会员

8

主题

22

帖子

80

积分

注册会员

积分
80

活字格认证微信认证勋章

octoberfour
注册会员   /  发表于:2018-2-23 16:21  /   查看:3938  /  回复:3
        我使用的是spread9.2,vb.net 2010。
       我在excel文件中,有三列多行数据,行数有可能几千行,也有可能几万行。
       使用ctrl+ c 复制出来后,粘帖在正在运行的spread表格中,表格被预先设置行数为500行,设计器内设置输入映射ctrl + v 为 Clipboardpastall,按ctrl+V后仅能粘贴设置的500行,超过500行就不能粘贴进行。请问需要怎么做才能一次性全粘贴完?
      
       另外一个问题是:怎样取得表格中有数据的最后一行、最后一列。相当于excel中的end(xlup).row,这样的结果?


        有没有中文版的帮助?就算没有全部方法和属性,有那种常用的就行?
        

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-23 18:35:26
沙发
1. 如果行数不够无法粘贴,建议提前设置足够行数
2.             fpSpread1.ActiveSheet.NonEmptyColumnCount
3. 老版本有中文文档,很多接口一样的,可以参考。

http://gcdn.gcpowertools.com.cn/showtopic-15931-1-1.html
回复 使用道具 举报
octoberfour
注册会员   /  发表于:2018-2-23 19:03:03
板凳
第一个问题,感觉不太理想。每次从剪贴板粘贴数据,还得自己到剪帖板中数一下有多少行?
人家粘贴数据,如果少则4、5行,多则几万行?你让我怎么提前设置行数。
建议以后的版本考虑这个问题,或者能不能帮忙试着写代码,怎样提前获知待粘贴的行数?

第二个问题,你告诉我的是空白行,假如第一行到第10行,中间有5行有数据,那这个属性得到的应该是5。但我想得到的数是最后有数据的在第几行,比如最后有数据的那一行是10,我想要得到10。

第三个问题已解决,有中文的好看一些。
这么晚了,还让你辛苦回复,谢谢你。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-24 09:29:46
地板
1.  可以在pasting 事件里面去获取Clipboard的数据,看有多少行就是粘贴的行数,再根据当前选择区域的起始行计算下是否需要添加行
            var data = Clipboard.GetText();
            var pastingRowCount = data.Split('\n').Length;
            var startRow = fpSpread1.ActiveSheet.GetSelection(0).Row;
            fpSpread1.ActiveSheet.RowCount = 10;

2. 这个不是空白行,是有数据的最后一行或者一列的index。应该就是你想要的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部