【问题标题】:delete some row based on cell value before importing to datagridview using c#在使用c#导入datagridview之前根据单元格值删除一些行
【发布时间】:2024-01-15 19:15:01
【问题描述】:

我正在尝试将 excel 文件从存储导入 datagridview。使用以下代码,我可以从我的 excel 文件中成功上传两列。但我想在导入之前修改我的 excel 文件。在我的 Excel 表中,一列包含城市名称,另一列包含人口数。我想删除包含少于 10,000 人的行。但我真的不知道该怎么做。这是我导入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;


}

【问题讨论】:

    标签: c# excel datagridview row datagridviewcolumn


    【解决方案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;
        }
    

    【讨论】:

      【解决方案2】:

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

      比如“人口 > 10000”

      这样它只会检索人口超过 10000 的地方

      【讨论】:

      • 你能解释一下吗?我正在尝试但没有显示任何答案。谢谢你。 @HiteshAjudiya
      • 添加了第二条评论,因为不允许回复大文本。
      • 谢谢。我有一个问题是人口数,你的意思是列标题吗? @HiteshAjudiya
      • 是的,您可以根据excel文件的确切列标题进行相应更改
      最近更新 更多