C#foreach循环-增量不适用于Excel单元格地址

问题描述

我想遍历DataTable dt列名,并以完全相同的顺序将它们保存在Excel工作表中的固定行中。将记录所有列名(从头到尾)。但是,实际上只有最后一列名称才被写入Excel,并且位于第一列应位于的单元格中。

foreach(DataColumn column in dt.Columns) {
   int j = 0;
   j++;
   columnName = column.ToString();
   worksheet.Cells[5,j] = columnName;
   LogMessage(columnName);
}

此循环有什么问题?

解决方法

每次迭代时,将j的值设置为0,然后递增为1。它将始终为1

int j = 0; // move this outside the for loop
foreach(DataColumn column in dt.Columns) {   
   j++;
...