在使用c#导入到datagridview之前,根据单元格值删除一些行

时间:2015-12-11 09:53:04

标签: c# excel datagridview row datagridviewcolumn

我正在尝试从stoarage导入excel文件到datagridview。使用以下代码,我可以从excel文件成功上传两列。但我想在导入之前修改我的excel文件progmamicaly。在我的Excel工作表中,一列包含城市名称,其他列包含人口编号。我想删除包含低于10,000人的行。但我真的不知道该怎么做。这是我导入excel文件的代码。

100 => Hundr

2 个答案:

答案 0 :(得分:1)

我说我们只需要在检索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;
    }

答案 1 :(得分:0)

我认为您只能在选择查询中添加where条件。

喜欢"其中人口> 10000

这样它只能检索人口超过10000的位置