如何迭代Excel._Worksheet中的所有行?

我正在寻找以编程方式从Excel工作表中拉出数据并将其插入到数据库表中。

如何确定工作表中的列数和行数,或者是否重复这些行?

我有

Excel._Worksheet worksheet = (Excel._Worksheet)workbook.ActiveSheet; 

我尝试了worksheet.Range.Rows.Count

扔掉了

索引属性“Microsoft.Office.Interop.Excel._Worksheet.Range”具有必须提供的非可选参数

需要做什么?

我想你实际上是在寻找最后使用的行。 在这种情况下,你需要这样写:

 Range UsedRange = worksheet.UsedRange; int lastUsedRow = UsedRange.Row + UsedRange.Rows.Count - 1; 
 public void IterateRows(Excel.worksheet worksheet) { //Get the used Range Excel.Range usedRange = worksheet.UsedRange; //Iterate the rows in the used range foreach(Excel.Range row in usedRange.Rows) { //Do something with the row. //Ex. Iterate through the row's data and put in a string array String[] rowData = new String[row.Columns.Count]; for(int i = 0; i < row.Columns.Count; i++) rowData[i] = row.Cells[1, i + 1].Value2.ToString(); } } 

这编译和运行对我来说是伟大的! 我正在使用它将缺less字段的行提取到错误日志中。

查看Excel中的UsedRange属性。