在Excel中迭代通过行

我试图从excel电子表格的列A中的单元格中获取所有数字,但我只是得到我的标题行返回。 我究竟做错了什么?

static void Main(string[] args) { var excel = new Microsoft.Office.Interop.Excel.Application(); Workbook workbook = excel.Workbooks.Open(@"C:\Documents\ANIs.xlsx"); Worksheet worksheet = workbook.Worksheets[1]; Range a1 = worksheet.get_Range("$A1"); object rawValue = a1.Value; string Text = a1.Text; foreach (Range item in a1.Cells) { Console.WriteLine("{1}", rawValue, Text); } Console.Read(); } 

您只获取单元格A1,您可以使用以下命令获取A列中的所有单元格:

 Range firstCol = workSheet.Range("A:A"); 

因为你的worksheet.get_Range只返回一个单元格。 您还需要指定右下angular的单元格来获取多个单元格,如下所示:

 worksheet.get_Range("$A1", "$D9"); 

查看MSDN