procedural programming – problem with the Excel operation in NETLink type

I use the NETLink package to create an Excel file and try to populate it with the following data:

need["NETLink`"];

xls = NETNew["Microsoft.Office.Interop.Excel.ApplicationClass"];
xls @ Visible = True;

wb = xls @ Workbooks @ Add[]
ws = wb @ worksheets @ article[1]

it works with code:

ws @ Cells[1, 1]Value = 100;
ws @ Cells[2, 2]Value = 200;
ws @ Cells[3, 3]Value = 300;

but gives no result with code:

To the[i=1,i<10,i++,
   ws@Cells[i, i]@Value = i * 100
]

So what's up with the loop case? Many Thanks!