2016-05-14 5 views
0

私は.Net Apose.Cellsと一緒に働いています。 名前のついた範囲内のすべてのセルに対して繰り返し処理を実行しようとしています。Aspose.Cellsの名前付き範囲内のすべてのセルに対して、どのように反復処理を行うのですか。

Iブックから名前付き範囲取得:

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

をIは、ゼロ(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

関連する問題