C# – 如何检查数据表中的列0?

我有一个数据表,我从一个Excel文件创build。 这工作正常。 但是,我最近有一个规范的变化,需要replace表中第0列的值。 我无法让我的IF语句触发。 这可能是我忽略的一些简单的东西。

基本上,如果它是行中的第一列,我想把一个特定的值,我拉别处(我拉细胞的颜色,并把RGB值)。 如果是行中的其他列,请照常继续读取数据。 请看下面的代码:

DataTable tbl = new DataTable(); foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column]) { tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column)); //var cellColor = ws.Cells[firstRowCell].Style.Fill.BackgroundColor.LookupColor(); } //var startRow = hasHeader ? 2 : 1; for (int rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++) { var currentRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column]; DataRow row = tbl.Rows.Add(); for (var i = 0; i < tbl.Columns.Count; i++) { //This is my problem. I am not seeing what needs to be in here. if (tbl.Columns.????????) { row[i] = colorTable[rowNum]; } else { row[i] = currentRow[rowNum, i + 1].Text; } } } 

您处于从第一列开始到最后一个循环的for循环

 for (var i = 0; i < tbl.Columns.Count; i++) 

所以你可以用来了解你在哪一栏的价值就是i ,你可以有这样的东西

 for (var i = 0; i < tbl.Columns.Count; i++) { //If you're at the first column if (i == 0) { row[i] = colorTable[rowNum]; } else { row[i] = currentRow[rowNum, i + 1].Text; } }