2011-07-29 43 views
7

如何复制到目标工作表中的特定行?使用C#在Excel中复制单元格

我需要将A1到J10从一个excel中的表格复制到第二个excel表格中从A15开始的位置。我怎样才能在c#中实现这一点?在下面的复制方法中,似乎没有选项来指定目标Excel表单中的位置。

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookTemp.Sheets[1]; 
ObjWorkSheet.Copy(Type.Missing, ObjWorkBookGeneral.Sheets[1]); 
+0

根据您所用Excel文件做了多少工作,我建议你寻找到第三方应用程序,如http://www.spreadsheetgear.com –

回答

9

我想你在这里使用了错误的方法......你想使用粘贴方法而不是复制方法。

尝试Range.PasteSpecial方法...应该为你做的伎俩。

事情是这样的......

Excel.Range sourceRange = firstWorksheet.get_Range("A1", "J10"); 
Excel.Range destinationRange = secondWorksheet.get_Range("A15", "J25"); 

sourceRange.Copy(Type.Missing); 
destinationRange.PasteSpecial(Microsoft.Office.Interop.Excel.XlPasteType.xlPasteFormulas, Microsoft.Office.Interop.Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false); 
+0

谢谢。有效。另外我如何设置目标excel中一系列行的行高。看起来像高度属性是只读的。 – Anand

+0

@Anand - 使用范围 –

+0

的RowHeight属性我试图让这个工作,虽然它复制格式正常,它不会复制公式。我在不同的Excel应用程序对象中的不同工作簿之间进行复制。 –

相关问题