I am looking to programmatically pull data from an Excel worksheet and insert it into a database table.
How do I determine the number of columns and rows in a worksheet or otherwise iterate the rows?
I have
Excel._Worksheet worksheet = (Excel._Worksheet)workbook.ActiveSheet;
I tried worksheet.Range.Rows.Count
which tosses up
Indexed property 'Microsoft.Office.Interop.Excel._Worksheet.Range' has non-optional arguments which must be provided
What needs to be done?
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] =Convert.ToString(row.Cells[1, i + 1].Value2); } }
This compiles and runs just great for me! I'm using it to extract rows with missing fields to an error log.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With