2012-05-25 42 views
6

C'è un modo per trovare la prima riga vuota disponibile nel foglio excel usando vsto o C#? Sono stato alla ricerca di ore ma non riesco a trovare alcuna cosa ad esso correlata. Qualsiasi aiuto in questo senso sarà molto apprezzatoprima riga vuota in excel

risposta

2

Se App è l'applicazione Excel, è possibile ciclo throught le righe a partire dal numero 1 e cercare per la prima funzione di vuoto utilizzando COUNTA (restituisce il numero di celle non vuote per un intervallo):

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); 
} 

Quando termina il ciclo while, rowIdx è l'indice della prima riga vuota.

CountA riceve altri 29 argomenti facoltativi, quindi è possibile che sia necessario passare Missing.Value 29 volte con le versioni precedenti del framework.

2

C'è una proprietà o un metodo Range.End Range.get_End che, combinata con una direzione vi darà la prima cella vuota in un raggio.

Date un'occhiata a questa domanda per una possibile soluzione: How to find the Next blank row in Excel sheet programatically using C#
La chiave po 'essere:

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 

Ma se hai una colonna che si sa avrà sempre ogni cellula riempita fino all'ultimo uno quindi si potrebbe ottenere la fine nella direzione verso il basso.

+0

mostra l'ultima riga utilizzata. ma voglio trovare il primo vuoto perché l'ultimo usato potrebbe essere qualsiasi dove – John

+0

Quindi vuoi davvero la prima riga vuota anche se la riga dopo non è vuota? – Nanhydrin

Problemi correlati