UPDATE 2
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", EXCELFILENAME);
string testCaseName = "test_case_2";
string query = String.Format("SELECT * from [{0}$] WHERE columns={1}", workbookName, testCaseName);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet); //<<ERROR
DataTable myTable = dataSet.Tables[0];
ERROR:
No value given for one or more required parameters.
UPDATE END
UPDATE:
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", EXCELFILENAME);
string query = String.Format("select * from [{0}$]", workbookName);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
DataTable myTable = dataSet.Tables[0];
How to read data from cells and store it in array/string. I have done reading worksheet but can’t find any better of doing
so here is my excel sheet looks like:
I should be able to pass the column in my case test_case_1 or test_case_2 etc… and read the columns for that particular row….
Regarding filtering.
As you are using OleDb for your data retrieval, nothing prevents you from using more advanced SQL:
You can use the names of the columns for filtering. In your case the filter is on the columns field. (btw. it is a confusing name)
As far as I remember the header of the table must be in the first row, you may need to move your table one row up.