在Excel VBA中(或者如果您可以在C#中使用.NET的Excels对象库),如何将工作表从一个工作簿复制到另一个工作簿中的另一个工作表。基本上,我正在做的是将我的每张表格复制到另一个工作簿中的中央工作表中,然后完成我需要在其中完成的所有工作。我尝试使用Range.Copy方法,我给目标参数作为其他工作簿的范围。它工作的很完美,但有一个问题,那就是每次我复制它时都会替换该工作表中的旧数据。我该如何做这样的事情,以便当我将它粘贴到工作表的最后。Excel复制工作表
编辑:我搜索,找到了一种方法,但现在当我复制单元格我得到一个COM异常与消息“从Excel工作表中的所有单元格粘贴到当前工作表,则必须粘贴到第一个单元格(A1或R1C1)“。
以下是代码,它是在C#
logWorksheet = logWorkbook.ActiveSheet as Excel.Worksheet;
Excel.Range tempRange = logWorksheet.Cells[logWorksheet.Rows.Count, "A"] as Excel.Range;
tempRange = tempRange.get_End(Excel.XlDirection.xlUp);
int emptyRow;
if (tempRange.Row > 1)
emptyRow = tempRange.Row + 1;
else
emptyRow = tempRange.Row;
string copyLocationAddress = Convert.ToString(emptyRow);
Excel.Range copyLocation = logWorksheet.get_Range(
"A" + copyLocationAddress, Type.Missing) as Excel.Range;
// copy whole workbook to the central workbook
tempLogSheet.Cells.Copy(copyLocation);
工作表具有有限的尺寸,因此,如果您要复制工作表全,没有余地将多于一个“附加”到单个工作表中。 – wakingrufus 2009-10-21 10:16:01