删除一些基于单元格值的行之前导入到datagridview使用c#

我想从车库导入excel文件到datagridview。 使用下面的代码,我可以成功地从我的Excelfile upload两列。 但是我想在导入之前修改我的excel文件progmamicaly。 在我的Excel表中,一列包含城市名称,其他列包含人口编号。 我想删除包含低于10000人的那一行。 但我真的不知道该怎么做。 这里是我导入excel文件的代码。

private void button1_Click_1(object sender, EventArgs e) { String name = "Gemeinden_31.12.2011_Vergleich"; String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\C# tutorial Backup\Zensus_Gemeinden_org.xlsx" + ";Extended Properties='Excel 12.0 XML;HDR=YES;';"; OleDbConnection con = new OleDbConnection(constr); OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$D8:E11300]", con); con.Open(); OleDbDataAdapter sda = new OleDbDataAdapter(oconn); DataTable data = new DataTable(); sda.Fill(data); dataGridView1.DataSource = data; } 

我是说我们需要添加filter,而只检索excel数据,以便它只会导入需要从Excel中的数据如下:

 private void button1_Click_1(object sender, EventArgs e) { String name = "Gemeinden_31.12.2011_Vergleich"; String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\C# tutorial Backup\Zensus_Gemeinden_org.xlsx" + ";Extended Properties='Excel 12.0 XML;HDR=YES;';"; OleDbConnection con = new OleDbConnection(constr); OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$D8:E11300] Where [population number] > 10000", con); con.Open(); OleDbDataAdapter sda = new OleDbDataAdapter(oconn); DataTable data = new DataTable(); sda.Fill(data); dataGridView1.DataSource = data; } 

我想你可以只在你的select查询中添加条件。

就像“哪里人口> 10000

所以它只会检索人口超过10000的地方