Reputation: 105
I am trying to import excel file to datagridview from stoarage. With the following code I can successfully uploaded two column from my excel file. But I want to modify my excel file progmamicaly before importing it. In my excel sheet one column contain City name and other column contain population number. I want to delete the row which contain lower that 10,000 people. But I really do not know how to do it. Here is the code by which I imported excel file.
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;
}
Upvotes: 2
Views: 385
Reputation: 137
I am saying that we need to add filter while retrieving excel data only, so that it will only import require data from excel as below:
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;
}
Upvotes: 1
Reputation: 137
I think you can just add where condition in your select query only.
Like "Where population > 10000
So that it will only retrieve where population is more than 10000
Upvotes: 0