Как перебрать все ячейки в именованном диапазоне в Aspose.Cells для .Net?

Я работаю с .Net Apose.Cells. Я пытаюсь понять, как перебирать все ячейки в именованном диапазоне.

Я извлекаю именованный диапазон из книги:

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

Я хотел бы установить значение для каждой ячейки в именованном диапазоне равным нулю (0). Как мне это сделать? Как лучше всего перебирать ячейки в именованном диапазоне?

Спасибо, Джей Би


person JohnB    schedule 14.05.2016    source источник


Ответы (1)


Вы можете выполнить итерацию ячеек вашего диапазона, используя метод Range.GetEnumerator(). Получив доступ к объекту Cell, вы можете установить его значение равным 0 с помощью метода Cell.PutValue(). См. следующий пример кода, его комментарии и пример вывода.

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

Пример вывода консоли

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

Примечание. Я работаю разработчиком-евангелистом в Aspose

person shakeel    schedule 17.05.2016
comment
Отлично спасибо - person JohnB; 27.05.2016