spread windows forms 14不同的spread控件能否实现范围复制粘贴
本帖最后由 cccc 于 2024-9-6 13:49 编辑我想把fpspread1控件的10行10列区域范围,这范围里有合并单元格,复制到fpspread2控件里,可以做到吗? 比如我用下面的命令,但没有效果。 Clipboard.Clear();//剪切板清空,防止内存溢出
fpspread1.CopyRange(0, 0, 13, 13, 10, 10, false);
fpspread2.ClipboardPaste();
本帖最后由 Richard.Ma 于 2024-7-5 13:45 编辑
跨控件复制,你肯定得把内容先复制到系统的剪切板,所以你是应该用ClipboardCopy
var s=fpSpread1.ActiveSheet.GetSelection(0);
fpSpread1.ActiveSheet.ClipboardCopy(s);
然后再用
fpSpread2.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.All, Clipboard.GetDataObject(),new FarPoint.Win.Spread.Model.CellRange(1,2,2,2));
除此之外, 你们也有购买GCExcel,GC直接有提供通过代码跨workbook复制粘贴区域的方法
https://demo.grapecity.com.cn/documents-api-excel-java/demos/cutcopyrangebetweenworkbooks
Richard.Ma 发表于 2024-7-5 13:44
跨控件复制,你肯定得把内容先复制到系统的剪切板,所以你是应该用ClipboardCopy
通过代码从一个spread的当前表某个区域复制粘贴到另一个spread当前表,一直报“索引超出了数组界限”。
你指的“另一个spread当前表”是说行列数完全一样吗,有没有可能美誉那么多行列数
最好给一个demo看看,不然不好判断原因 Richard.Ma 发表于 2024-9-7 00:12
你指的“另一个spread当前表”是说行列数完全一样吗,有没有可能美誉那么多行列数
最好给一个demo看看, ...
另一个spread控件,复制粘贴的原spread控件表单和目标spread控件表单的行列数都是用默认的500。我现在采用您提供的方法复制粘贴原spread的一个区域到目标spread。在这句fpSpread1.ActiveSheet.ClipboardPaste(ClipboardPasteOptions.All, Clipboard.GetDataObject(), new FarPoint.Win.Spread.Model.CellRange(1, 1, 10, 10));提示索引超出数组界限的错误。 给个demo看看吧。我用相同的代码没能复现问题,可以正常粘贴
没有看到您再回复,这个帖子先结帖了。如果有新的问题,可以发新帖沟通
页:
[1]