我正在尝试使用Microsoft.interop.Excel库和C#以编程方式获取excel工作表的最后一行。我之所以这样做,是因为我负责遍历excel电子表格中的所有记录,并对它们执行某种操作。具体地说,我需要最后一行的实际数字,因为我将把这个数字放入一个函数中。有谁知道怎么做吗?
发布于 2011-10-06 21:08:07
几种方式,
using Excel = Microsoft.Office.Interop.Excel;
Excel.ApplicationClass excel = new Excel.ApplicationClass();
Excel.Application app = excel.Application;
Excel.Range all = app.get_Range("A1:H10", Type.Missing);
或
Excel.Range last = sheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = sheet.get_Range("A1", last);
int lastUsedRow = last.Row;
int lastUsedColumn = last.Column;
发布于 2011-10-07 19:41:43
Pryank's answer是最适合我的。我在最后添加了一点(.Row
),所以我返回的不只是一个range
,而是一个integer
。
int lastRow = wkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing).Row;
发布于 2011-10-06 21:11:52
对于涉及Excel对象模型的问题,首先在VBA中试用它通常更容易,然后再转换为C#是相当简单的。
在这种情况下,在VBA中执行此操作的一种方法是:
Worksheet.UsedRange.Row + Worksheet.UsedRange.Rows.Count - 1
https://stackoverflow.com/questions/7674573
复制相似问题