SIGN UP MEMBER LOGIN:    
ARTICLE

Connecting to an Excel Database & Text File in ADO.NET

Posted by Mahesh Chand Articles | ADO.NET in C# December 21, 2009
In this article I will explain Connecting to an Excel Database & Text File in ADO.NET
Reader Level:

This article has been excerpted from book "A Programmer's Guide to ADO.NET in C#".

Connecting to an Excel Database

The 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 Driver

string
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 shown
string
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 File

You 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 file

string
ConnectionString = "Driver={Microsoft Text Driver "+ " (*.txt; *.csv) }; DBQ =c:\\";

// Query the TextDB.Txt file as a table

OdbcConnection 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 Connection

conn.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


A tab separates each element of a row; however, you could also delimit your file commas.

Conclusion

Hope this article would have helped you in understanding
Connecting to an Excel Database & Text File in ADO.NET. See my other articles on the website on ADO.NET.
adobook.jpg This essential guide to Microsoft's ADO.NET overviews C#, then leads you toward deeper understanding of ADO.NET.

Login to add your contents and source code to this article
share this article :
post comment
 

Thank u

Posted by shareef yousuf Dec 29, 2009
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
    Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Nevron Gauge for SharePoint
Become a Sponsor