是否可以将数据表中特定列中的空白单元格替换为其上方的单元格值?
例如,我有以下数据表:
--------------------
ProductCode | Color
--------------------
00A0B | Red
| Blue
00A0C | Red
| Black
| White
--------------------
它应该类似于下表:
--------------------
ProductCode | Color
--------------------
00A0B | Red
00A0B | Blue
00A0C | Red
00A0C | Black
00A0C | White
--------------------
那我该怎么办呢?我需要一种非常有效的方法,因为数据量可能很大。
答案 0 :(得分:1)
此代码可以满足您的要求,但是对于第一个空项目(当然您还没有输入产品代码的行),它将设置空字符串:
string code = "", nonEmpty = "";
foreach(var row in datatable.Rows)
{
code = row["ProductCode"].ToString();
if(!string.IsNullOrEmpty(code))
nonEmpty = code;
else
row["ProductCode"] = nonEmpty;
}
但是,您可以为nonEmpty
设置一个默认值,这样,如果开头有行带有空ProductCode
的行,请使用默认值进行设置。那么第一行代码应该像这样:
string code = "", nonEmpty = "DefaultPC";