c# - studio - microsoft.office.interop.excel.dll version 15 download
C#- ¿Cómo itero todas las filas en Excel._Worksheet? (3)
Estoy buscando extraer datos de una hoja de cálculo de Excel mediante programación e insertarlos en una tabla de base de datos.
¿Cómo puedo determinar el número de columnas y filas en una hoja de trabajo o de otra manera iterar las filas?
yo tengo
Excel._Worksheet worksheet = (Excel._Worksheet)workbook.ActiveSheet;
He intentado worksheet.Range.Rows.Count
que arroja
La propiedad indexada ''Microsoft.Office.Interop.Excel._Worksheet.Range'' tiene argumentos no opcionales que deben proporcionarse
¿Lo que hay que hacer?
Echa un vistazo a la propiedad UsedRange en Excel.
Supongo que en realidad estás buscando la última fila usada. En ese caso necesitas escribirlo así:
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();
}
}
¡Esto compila y funciona simplemente genial para mí! Lo estoy usando para extraer filas con campos faltantes en un registro de errores.