I'm using OleDbDataAdapter
to extract DataSet
from excel file, but I have problems with SELECT
statement inside
DataSet excelDataSet = new DataSet();
using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString))
{
con.Open();
OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Name of spreadsheet]", con);
cmd.Fill(excelDataSet);
con.Close();
}
If you see I have "select * from [Name of spreadsheet]"
, but I need to get any spreadsheets, or for example 1st spreadsheet, but the name for this spreadsheet can be anything.
How to specify it? Is it any special characters like "select * from [%]"
You need to know the name of the sheet to apply the select statement at it.
And you need to add the special char $
at the end of the name.
Supposing you have a sheet named MyFirstSheet
then you can select rows from it with
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from [MyFirstSheet$]", con);
In case you don't know the names of your sheets you could call
using (OleDbConnection con = new OleDbConnection(connectionString))
{
con.Open();
DataTable dt = con.GetSchema("Tables");
string firstSheet = dt.Rows[0]["TABLE_NAME"].ToString();
...... work with the first sheet .....
}
This example should give you the name of the first sheet in the excel file (other sheets are available in the successive rows after the first)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With