2016-05-14 155 views
0

我正在使用.Net Apose.Cells。 我想弄清楚遍历命名范围内的所有单元格。如何遍历Aspose.Cells中.Net的命名范围内的所有单元格?

我检索命名范围从工作簿:

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

我想在命名范围来设置每个单元的值设置为零(0)。 我该怎么做? 迭代指定范围中的单元格的最佳方法是什么?

感谢, JB

回答

2

可以使用Range.GetEnumerator()方法迭代的范围内的细胞。一旦您有权访问您的单元格对象,则可以使用Cell.PutValue()方法将其值设置为0。请看下面的示例代码,它的意见和示例输出

//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

+0

完美,Thank-您 – JohnB

相关问题