復制代碼 代碼如下:
//數據
DataTable dtObject = dt;
//保留列
string[] saveColumns = new string[5];
saveColumns[0] = "X";//保留列1
saveColumns[1] = "XX";//保留列2
saveColumns[2] = "XXX";
saveColumns[3] = "XXXX";
saveColumns[4] = "XXXXX";
//移除不需要的列
for (int i = dtObject.Columns.Count-1; i >= 0; i--)//注意此處,一般習慣用i++則會引發OutOfIndex異常,由於部分列被移除,列索引減少,i++會超出不斷減少的索引總數,注意。
{
//移除指示器
bool remove = true;
//是否在保留列中
for (int j = 0; j < saveColumns.Length; j++)
{
if (dtObject.Columns[i].ColumnName == saveColumns[j])
{
//保留列不移除
remove = false; break;
}
}
if (remove)
{
//移除列
dtObject.Columns.Remove(dtObject.Columns[i].ColumnName);
}
}
return dtObject;