C# 在工作表中查找最后使用的单元格并将行复制到另一个工作表中?

C# 在工作表中查找最后使用的单元格并将行复制到另一个工作表中?,c#,excel,copy-paste,C#,Excel,Copy Paste,如果您有任何疑问,我们将不胜感激。 我的问题如下: 这是确定excel工作表最后一个非空单元格/行的正确方法吗 xl.Worksheet sh; int lastRow; int fullRow; sh = xlApp.Workbooks.get_Item("myExcelFile").Worksheets.get_Item("MySheet"); fullRow = sh.Rows.Count; lastRow

如果您有任何疑问,我们将不胜感激。 我的问题如下:

这是确定excel工作表最后一个非空单元格/行的正确方法吗

xl.Worksheet sh;
        int lastRow;
        int fullRow;

        sh = xlApp.Workbooks.get_Item("myExcelFile").Worksheets.get_Item("MySheet");
        fullRow = sh.Rows.Count;
        lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row;
如果这确实是正确的,我如何将我的行复制到另一个工作表中。更具体地说,是A列的第一个空单元格。 我知道我必须使用这样的命令:

lastRow.EntireRow.Copy(FirstEmptyCell);
作为int类型,我无法将其复制到其他工作表中。 有什么建议吗

lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row;
这里,
lastRow
是一个
int
,因此不能在下一行中将其用作对象:

lastRow.EntireRow.Copy(FirstEmptyCell); // int doesn't have an EntireRow property
您所能做的是将两者合并成一行:

Excel.Range myLastRow;
myLastRow = sh.Cells[sh.Rows.Count, 1].End(xl.xlDirection.Up).EntireRow;
现在,
myLastRow
是要复制的整行

myLastRow.Copy(destination);
这里,
lastRow
是一个
int
,因此不能在下一行中将其用作对象:

lastRow.EntireRow.Copy(FirstEmptyCell); // int doesn't have an EntireRow property
您所能做的是将两者合并成一行:

Excel.Range myLastRow;
myLastRow = sh.Cells[sh.Rows.Count, 1].End(xl.xlDirection.Up).EntireRow;
现在,
myLastRow
是要复制的整行

myLastRow.Copy(destination);

哇,谢谢你的快速反应和帮助。我很高兴地说,我的行已经被复制,现在可以移动到我的目的地了。在它完全发挥功能之后,我将在这里发布代码和它的外观,以便任何在这方面有问题的人都可以找到一个例子。再次非常感谢。你的回答也很受欢迎!!!没问题-如果您的代码功能齐全-我可能会建议将其发布到人们可以提供建议和改进建议的地方:)我一定会这样做,因为任何建议和帮助都将非常感激和有用。我现在正在做的项目基本上是从VBA代码转换到C代码,因为我想把它作为一个程序,所以它不使用任何“外部元素”,它或多或少是一个宏,我有一些动态元素,我一直在努力动态地找到最后一行并设置/复制它:)你无法想象看到你的回复我有多高兴!第一次从VBA到C的重写总是。。。。。有趣。。。。哈哈。祝你好运:)谢谢:)如果你对这件事有任何想法或见解,请告诉我,我总是很高兴学到新东西:)哇,谢谢你的快速反应和帮助我。我很高兴地说,我的行已经被复制,现在可以移动到我的目的地了。在它完全发挥功能之后,我将在这里发布代码和它的外观,以便任何在这方面有问题的人都可以找到一个例子。再次非常感谢。你的回答也很受欢迎!!!没问题-如果您的代码功能齐全-我可能会建议将其发布到人们可以提供建议和改进建议的地方:)我一定会这样做,因为任何建议和帮助都将非常感激和有用。我现在正在做的项目基本上是从VBA代码转换到C代码,因为我想把它作为一个程序,所以它不使用任何“外部元素”,它或多或少是一个宏,我有一些动态元素,我一直在努力动态地找到最后一行并设置/复制它:)你无法想象看到你的回复我有多高兴!第一次从VBA到C的重写总是。。。。。有趣。。。。哈哈。祝你好运:)谢谢:)如果你对这件事有任何想法或见解,请告诉我,我总是很高兴学习新东西:)