Excel中的UsedRange

时间:2011-03-30 19:01:15

标签: c# excel interop

如何从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?

2 个答案:

答案 0 :(得分:2)

这将为您提供A列,Joe指出可能是您的UsedRange中的第一列:

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

这将为您提供范围内的第一列,因此您可以按编号引用:

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

答案 1 :(得分:2)

@Lance的回答:

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

将为您提供UsedRange的第一列。例如,如果包含数据的第一列是C列,它实际上将返回C列的已用部分。

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

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

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