【发布时间】:2015-04-12 08:43:52
【问题描述】:
我正在从 Excel 工作表中填充一个 DataTable 对象。我不指望用户正确输入数据,我想删除 A 列中具有空值的行。我已经搜索了很多,看起来每个人都在使用 for 循环执行此操作.这是问题所在:757,000 行。如果数据格式不正确,则 DataTable 会被 Excel 的最大值 1048575 填满。我不需要单独检查每个值。在 SQL Server 中,您可以编写:
DELETE table
WHERE columnA IS NULL
我考虑在 DataTable 填充中排除空值,但我无法让它可靠地工作,因为我不知道列 A 的名称,直到它在 DataTable 中,有时列名称中有一个 \n 字符中间抛出语法错误。
我怎样才能在没有循环的情况下完成同样的事情?
【问题讨论】:
-
您要从源工作簿中删除行还是不将它们显示在数据表中?你是怎么读 excel 的?
-
你不能实现 DataTable 的
Select()方法来过滤并可能从那里填充一个 DataTable..?还有IN SQL Server你的语法不正确..它是DELETE [FROM TABLE NAME] WHERE Clause -
@DStanley 真的我只是希望它们不在数据表中。
标签: c# datatable delete-row import-from-excel