在使用 c# 导入到 datagridview 之前,根据单元格值删除一些行
delete some row based on cell value before importing to datagridview using c#
我正在尝试将 excel 文件从 stoarage 导入到 datagridview。使用以下代码,我可以从我的 excel 文件中成功上传两列。但是我想在导入之前以编程方式修改我的 excel 文件。在我的 excel sheet 中,一列包含城市名称,另一列包含人口数量。我想删除包含低于 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;
}
我认为您可以只在 select 查询中添加 where 条件。
喜欢“人口 > 10000
这样它只会检索人口超过 10000 的地方
我是说我们需要在仅检索 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;
}
我正在尝试将 excel 文件从 stoarage 导入到 datagridview。使用以下代码,我可以从我的 excel 文件中成功上传两列。但是我想在导入之前以编程方式修改我的 excel 文件。在我的 excel sheet 中,一列包含城市名称,另一列包含人口数量。我想删除包含低于 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;
}
我认为您可以只在 select 查询中添加 where 条件。
喜欢“人口 > 10000
这样它只会检索人口超过 10000 的地方
我是说我们需要在仅检索 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;
}