2016-05-14 6 views
0

Ich arbeite mit .Net Apose.Cells. Ich versuche herauszufinden, über alle Zellen in einem benannten Bereich zu iterieren.Wie durchlaufen alle Zellen in einem benannten Bereich in Aspose.Cells für .Net?

ich abrufen den benannten Bereich aus der Arbeitsmappe:

Range range = AsposeWorkbook.Worksheets.GetRangeByName(rangeName); 

Ich möchte den Wert für jede Zelle in dem benannten Bereich auf Null (0) gesetzt. Wie mache ich das? Was ist die beste Methode zum Iterieren über Zellen in einem benannten Bereich?

Danke, JB

Antwort

2

Sie können die Zellen des Bereichs mit den Range.GetEnumerator() Verfahren durchlaufen. Sobald Sie Zugriff auf Ihr Objekt Cell haben, können Sie den Wert auf 0 setzen, indem Sie Cell.PutValue() Methode verwenden. Bitte beachten Sie die folgenden Beispielcode, seine Kommentare und Beispielausgabe

//Load your excel file 
Workbook workbook = new Workbook("s1.xlsx"); 

//Access first worksheet 
Worksheet ws = workbook.Worksheets[0]; 

//THis way you can create range on runtime 
Range rn = ws.Cells.CreateRange("A1:D6"); 
rn.Name = "MyRange"; 

//Access your range as you have been doing before 
Range range = workbook.Worksheets.GetRangeByName("MyRange"); 

//Iterate all the cells in your range, print their names and values 
IEnumerator e = range.GetEnumerator(); 

while (e.MoveNext()) 
{ 
    Cell c = (Cell)e.Current; 
    Console.WriteLine(c.Name + ": " + c.StringValue); 

    //Set value to 0 
    c.PutValue(0); 
} 

Beispiel Konsolenausgabe

A1: 27 
B1: 92 
C1: 58 
D1: 58 
A2: 75 
B2: 21 
C2: 61 
D2: 27 
A3: 55 
B3: 49 
C3: 73 
D3: 92 
A4: 6 
B4: 7 
C4: 2 
D4: 62 
A5: 18 
B5: 75 
C5: 76 
D5: 32 
A6: 32 
B6: 63 
C6: 18 
D6: 34 

Hinweis: Ich arbeite als Entwickler Evangelist bei Aspose

+0

Perfect, Dank Sie – JohnB