2012-05-25 15 views
6

¿Hay alguna manera de encontrar la primera fila en blanco disponible en la hoja de Excel usando vsto o C#? He estado buscando por horas, pero no puedo encontrar nada relacionado con él. Cualquier ayuda en este sentido será apreciado considerablementeprimera fila en blanco en excel

Respuesta

2

Si la aplicación es la aplicación Excel, puede bucle throught las filas a partir del número 1, y busque el primer uso de la función CONTARA vacía (que devuelve el número de celdas no vacías de un rango):

int rowIdx = 0; 
int notEmpty = 1; 
while (notEmpty > 0) 
{ 
    string aCellAddress = "A" + (++rowIdx).ToString(); 
    Range row = App.get_Range(aCellAddress, aCellAddress).EntireRow; 
    notEmpty = _App.WorksheetFunction.CountA(row); 
} 

Cuando sale el ciclo while, rowIdx es el índice de la primera fila vacía.

CountA recibe otros 29 argumentos opcionales, por lo que es posible que deba pasar Missing.Value 29 veces con versiones anteriores del marco.

2

Hay una propiedad o método Range.End Range.get_End que combinado con una dirección que le dará la primera celda en blanco en un rango.

Tener un vistazo a esta pregunta por una posible solución: How to find the Next blank row in Excel sheet programatically using C#
siendo la barrena clave:

Excel.Worksheet xlWorkSheet1 = (Excel.Worksheet)excelbk.Worksheets["Sheet1"]; 
xlRange = (Excel.Range)xlWorkSheet1.Cells[xlWorkSheet1.Rows.Count, 1]; 
long lastRow = (long)xlRange.get_End(Excel.XlDirection.xlUp).Row; 
Long newRow = lastRow + 1 

Pero si usted tiene una columna que sabe que siempre han llenado cada célula hasta el último uno entonces podrías llegar al final en la dirección descendente.

+0

muestra la última fila utilizada. pero quiero encontrar el primer espacio en blanco porque el último usado podría ser – John

+0

¿De verdad quieres la primera fila en blanco incluso si la fila que está detrás no está vacía? – Nanhydrin

Cuestiones relacionadas