UsedRange在excel列中

你如何从UsedRange获得一列; 例如列A?

xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open("C:\\base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); //range = xlWorkSheet.UsedRange; range = xlWorkSheet.get_Range("A") // reading from A1 to max of excel 65536? 

@兰斯的回答:

 range = xlWorkSheet.UsedRange.Columns["A:A", Type.Missing] 

会给你UsedRange的第一列。 例如,如果包含数据的第一列是C列,则实际上将返回列C的已用部分。

要获取工作表中第一列的已使用行,请使用Intersect:

 range = xlApplication.Intersect(xlWorksheet.UsedRange, xlWorksheet.Columns["A:A", Type.Missing]) 

如果列A不是UsedRange的一部分,这将返回null。

这会得到你A列,正如Joe指出的那样可能是你UsedRange中的第一列:

 range = xlWorkSheet.UsedRange.Columns["A:A", Type.Missing] 

这将使您获得您所在范围内的第一列,以便您可以通过编号引用:

 range = xlWorkSheet.UsedRange.Columns[1, Type.Missing]