This article has been excerpted from book "A Programmer's Guide to ADO.NET in C#".Connecting to an Excel DatabaseThe nice thing about ODBC is there are drivers for so many different databases and structures. Listing 5-24 shows how to connect to an Excel spreadsheet and retrieve data from it. As you can see, you can use the xls ODBC driver to connect to an Excel spreadsheet. The Employees.xls file is the Northwind database's Employee table exported as an .xls file from Access 2000.As I said earlier, you must include Microsoft.Data.Odbc namespace reference before using ODBC data provider classes.Listing 5-24. Reading data from an Excel Spreadsheet using ODBC// Connection string for ODBC Excel Driverstring ConnectionString = "Driver = {Microsoft Excel Driver(*.xls) }; " +"DBQ =c: \\ Employee.xls";Odbc connection conn = new OdbcConnection(ConnectionString);// Table in Excel can be though of as sheets and are queried as shownstring sql = " Select EmployeeID, FirstName, LastName FROM Employees";conn.Open();OdbcDataAdapter da = new odbcDataAdapter(sql, conn);DataSet ds = new DataSet();da.Fill(ds, "Employees");Connection to a Text FileYou could write the same code for extracting data from a text file by simply changing the connection string and the query. The connection string simply points to the directory where the text files are stored. Each file acts as a table (see listing 5-25).As I said earlier, you must include Microsoft.Data.Odbc namespace reference before using ODBC data provider classes.Listing 5-25. Reading data from a tab-delimited text file using ODBC// Connection string for a Text filestring ConnectionString = "Driver={Microsoft Text Driver "+ " (*.txt; *.csv) }; DBQ =c:\\";// Query the TextDB.Txt file as a tableOdbcConnection conn = new OdbcConnection(ConnectionString);conn.Open();OdbcDataAdapter da = new OdbcDataAdapter("Select * FROM TextDB.Txt", conn);DataSet ds = new DataSet();da.Fill(ds, "TextDB");dataGrid1.DataSource = ds.DefaultViewManager;// close the Connectionconn.Close();Listing 5-25 uses TextDB.txt, which is tab-delimited file of rows and columns. It looks like Table 5-21.Table 5-21. Tab- Delimited Text File of Employee Data
EMPLOYEEID
FIRSTNAME
LASTNAME
TITLE
1
Mike
Kramer
President
2
Fred
Jones
Secretary
3
Bill
Leste
VP Sales
4
Ted
Silver
VP Manufacturing