关于Excel的单元格拷贝问题
delphi吧
全部回复
仅看楼主
level 11
假如有两个Excel文件,我想把其中一个Excel文件中的某个数据范围的数据拷贝到另外一个Excel文件当中。
目前的思路是这样的,我用两个OLE变量分别打开这两个文件,然后对比要拷贝的每个单元的字体,内容,底色,宽高,边框类型,然后往另外一个变量要拷贝的对应区域中进行赋值。这么做十分烦琐,而且合并单元还不好处理。
谁能帮帮我提个思路如何处理这个过程,有现成的事例最好,不要考虑用Delphi中Server控件中的Office控件,那个太挑剔Office版本,已经放弃了。也不要用Rang[].Copy加Rang[].PasteSpecial。那个功能会直接插入一个Excel对象,而并非每个单元格数据。
2014年02月26日 04点02分 1
level 12
用CreateOleObject创建excel application
workbooks[文件1].worksheets[表名].range[要复制的范围].copy
workbooks[文件2].worksheets[表名].range[要复制到的范围].paste
2014年03月03日 08点03分 2
谢谢,你说的这个方法不能用,paste要换成PasteSpecial,插入的对象是一个文件。
2014年03月05日 05点03分
level 11
这个问题我自己解决了,开始思路也象2楼那样,后来发现直接引用windows的操作就OK了。
代码如下:
TempExcelApp.ActiveSheet.Range[范围].Copy;
//ExcelApp.ActiveSheet.Range[范围].PasteSpecial;
ExcelApp.ActiveSheet.Range[范围].select;
ExcelApp.ActiveSheet.Paste;
ExcelApp.ActiveSheet.Range[1,1].Select
2014年03月05日 05点03分 3
level 8
是不是很慢啊大批量的复制
2014年03月05日 05点03分 4
1