我有一个 DataTable1,其中包含从 Excel 导入的一堆行。此 Excel 表的第 1 行包含与我的应用程序无关的数据。当我将此工作表导入 DataTable1 时,第一行成为标题。
我要完成的工作: 删除标题行,以便当我将 DataTable1 克隆到 DataTable2 时,DataTable1 的第二行(以前是第三行,删除之前)是 DataTable2 的标题。我不想隐藏DataTable1 的标题 - 我想完全删除它,而不必在 Excel 中手动删除它。这个标题/单元格将始终是可识别的,因为在 Excel 工作表中,第一个单元格的值实际上是“不必要的数据”。
因此,例如:
不必要的数据 | 不必要的数据 | 不必要的数据 | 不必要的数据
列 1 | 第 2 栏 | 第 3 栏 | 第 3 栏
资料 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
将变为:
第 1 列 | 第 2 栏 | 第 3 栏 | 第 3 栏
资料 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
东西 | 东西 | 东西 | 东西 |
我做了一堆谷歌搜索和头脑风暴,但我无法弄清楚如何做到这一点。
我努力了:
if (DataTable1.Rows[0][0].ToString() == "Unnecessary Data")
{
DataTable2 = DataTable1.Clone();
DataTable2.Rows.Remove(DataTable1.Rows[0]);
}
这不起作用,因为 Row[0] 实际上是我的标题之后的第一行。
if (DataTable1.Rows[0][-1].ToString() == "Unnecessary Data")
{
DataTable2 = DataTable1.Clone();
DataTable2.Rows.Remove(DataTable1.Rows[0]);
}
也不起作用,因为 -1 不是索引。任何人都可以帮忙吗?
