找回密码
 立即注册

QQ登录

只需一步,快速开始

cngrain

中级会员

32

主题

118

帖子

656

积分

中级会员

积分
656

活字格认证

cngrain
中级会员   /  发表于:2011-7-11 12:30  /   查看:7200  /  回复:9
1、fpspread公式可以复制粘贴的问题?我需要设置有公式的单元格不能进行复制,其余单元格不能进行粘贴公式,如何设置?

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 14:04:00
沙发
在拷贝和粘贴时都有相应的选项,可以指定是否拷贝或者粘贴公式:
  1.             fpSpread1.ActiveSheet.ClipboardCopy(ClipboardCopyOptions.Values);
  2.             fpSpread1.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.Values);
复制代码
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-11 14:46:00
板凳
fpSpread1.ActiveSheet.ClipboardCopy(ClipboardCopyOptions.Values);
fpSpread1.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.Values);
你给的这两句话在我这里用的话,会出现其他的问题.如:我复制某一个有公式的单元格到其他没有设置公式的单元格的时候,表格里一部分有公式的单元格里的公式被清空!
其中1是复制前的表格,2是粘贴后的表格。

1.png

30.11 KB, 下载次数: 130

png

2.png

29.48 KB, 下载次数: 112

png

回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 15:19:00
地板
如果你想本身有公式的单元格在粘贴之后其原有公式不被清空可以将有公式的单元Lock = True
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-11 15:24:00
5#
有公式的单元格我也已经锁定,但是还是出现该问题?请问一下fpspread控件能禁用复制粘贴吗?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 15:27:00
6#
通过以下设置可以禁用复制粘贴:
  1.             fpSpread1.AutoClipboard = false;
复制代码
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-11 20:59:00
7#
我复制的话,怎么会把单元格的样式也复制过去了?按你说的方式指定了只复制数据的话也是这种情况。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 21:53:00
8#
你是通过键盘Ctrl + C和Ctrl + V复制粘贴的,还是通过代码 fpSpread1.ActiveSheet.ClipboardCopy(ClipboardCopyOptions.Values);fpSpread1.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.Values);完成复制粘贴的。通过代码的话不应该复制样式啊。
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-14 14:17:00
9#
通过键盘的Ctrl+C和Ctrl+V复制粘贴的
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-14 14:45:00
10#
通过键盘Ctrl+C和Ctrl+V是Spread默认的复制粘贴行为,如果你想修改这么默认行为可以设置:
  1.             fpSpread1.AutoClipboard = false;
复制代码


然后添加自己的Ctrl+C和Ctrl+V逻辑:
  1.         private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.Control && e.KeyCode == Keys.C)
  4.             {
  5.                 this.fpSpread1.ActiveSheet.ClipboardCopy(ClipboardCopyOptions.Values);
  6.             }

  7.             if (e.Control && e.KeyCode == Keys.V)
  8.             {
  9.                 this.fpSpread1.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.Values);
  10.             }
  11.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部