找回密码
 立即注册

QQ登录

只需一步,快速开始

lh8350

论坛元老

33

主题

80

帖子

2万

积分

论坛元老

积分
23275

活字格认证

lh8350
论坛元老   /  发表于:2012-8-4 22:14  /   查看:4641  /  回复:3
想获取一个选中区域,然后将选中区域的值复制到剪贴板。因为表单中有隐藏区域,选中一个区域的时候隐藏区域也被选择出来了。因为需要将选中区域的数据粘贴到excel,所以我需要只复制显示的区域,而不是包括隐藏的列。环境vs2010+spread  windows form 5.
spread.Sheets[0].ClipboardCopy(FarPoint.Win.Spread.SpreadActions.ClipboardCopyAsStringSkipHidden);用这个怎么不管用呢?什么时候用才能生效呢?

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-6 11:27:00
沙发
fpSpread1.ActiveSheet.ClipboardCopy(FarPoint.Win.Spread.ClipboardCopyOptions.AsStringSkipHidden);需要直接调用才会生效,比如在Button的Click事件中调用该方法,就可以只拷贝显示的列,而不会拷贝隐藏的列。

如果通过【Ctrl + C】也想只复制显示的列,需要在Spread的KeyDown中进行处理,比如使用下面的代码:
  1.     private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
  2.     {
  3.         if (e.Control && e.KeyCode == Keys.C)
  4.         {
  5.             fpSpread1.ActiveSheet.ClipboardCopy(FarPoint.Win.Spread.ClipboardCopyOptions.AsStringSkipHidden);
  6.             e.Handled = true;
  7.         }
  8.     }
复制代码
回复 使用道具 举报
lh8350
论坛元老   /  发表于:2012-8-6 13:08:00
板凳
我也是在在keydown事件中这样写的,但是按ctrl+z时候就撤销不了了。
回复 使用道具 举报
lh8350
论坛元老   /  发表于:2012-8-6 13:27:00
地板
不好意思,搞错了!写了两个keydown事件,调错了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部