找回密码
 立即注册

QQ登录

只需一步,快速开始

Hjr2350
论坛元老   /  发表于:2013-3-14 17:25:00
11#
回复 10楼iceman的帖子

谢谢,我9L的问题能否给我解答下
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-3-14 17:37:00
12#
回复 11楼Hjr2350的帖子

IDataObject data 是在复制时自动写入内存中的数据对象。在该事件中 fpSpread1_ClipboardPasted 可以通过以下代码获取:

  1.         private void fpSpread1_ClipboardPasted(object sender, FarPoint.Win.Spread.ClipboardPastedEventArgs e)
  2.         {
  3.             e.DataObject.GetData(DataFormats.StringFormat);
  4.         }
复制代码

我看到 5# 中的例子也使用了相应代码。Spread 本身不支持 多个单元格范围 粘帖。
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-3-15 14:29:00
13#
我现在想连续复制粘贴
  1.                
  2.                 FarPoint.Win.Spread.Model.CellRange cr = new FarPoint.Win.Spread.Model.CellRange(2, -1, 3, 3);
  3.                 fpSpread1.ActiveSheet.ClipboardCopy(cr, ClipboardCopyOptions.All);
  4.                 fpSpread2.ActiveSheet.Rows.Add(fpSpread2.ActiveSheet.RowCount, 1);
  5.                 fpSpread2.ActiveSheet.AddSelection(fpSpread2.ActiveSheet.RowCount - 1, 0, 1, 4);
  6.                 fpSpread2.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.All);

  7.                 cr = new FarPoint.Win.Spread.Model.CellRange(4, -1, 3, 3);
  8.                 fpSpread1.ActiveSheet.ClipboardCopy(cr, ClipboardCopyOptions.All);
  9.                 fpSpread2.ActiveSheet.Rows.Add(fpSpread2.ActiveSheet.RowCount, 1);
  10.                 fpSpread2.ActiveSheet.AddSelection(fpSpread2.ActiveSheet.RowCount - 1, 0, 1, 4);
  11.                 fpSpread2.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.All);
复制代码

上述代码是我想通过连续复制粘贴方法,实现多个不连续单元格的复制粘贴
但是我发现我只能保存到最后一条,有没有办法实现我这样子的连续复制粘贴;
如果我这种方法有问题,不知BZ们能不能提供一个比较好的思路来解决这个问题
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-15 18:07:00
14#
Hjr2350 你好

我们正在调试你的需求,下周一格尼回复结果,谢谢。
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-3-18 09:08:00
15#
期待你的回复...
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-3-18 10:21:00
16#
回复 15楼Hjr2350的帖子

Hjr2350 你好,
可以在粘帖的时候,使用 GetSelections 方法获取 fpSpread1 中的选择范围。分别取出值,然后逐个单元格赋值。

  1.             FarPoint.Win.Spread.Model.CellRange[] crs= this.fpSpread1.Sheets[0].GetSelections();
复制代码

2.粘帖时,可以通过 fpSpread2_ClipboardPasting 来操作粘帖动作。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部