5,702,921 members and growing! (15,485 online)
Email Password   helpLost your password?
Database » Database » General     Beginner

How to read MS Excel 2007 using a connection string in C#

By Mihadh

This article explains how to connect to MSExcel 2007 using a connection string and populate DataGridView
C# 1.0, C# 2.0, C#Windows, .NET, .NET 3.0, .NET 3.5, .NET 1.1, .NET 2.0, Win2K, WinXP, Win2003, ADO.NET, WinForms, VS2005, Visual Studio, DBA, Dev

Posted: 28 Nov 2007
Updated: 28 Nov 2007
Views: 24,134
Bookmarked: 43 times
Announcements
Loading...



Search    
Advanced Search
Sitemap
5 votes for this Article.
Popularity: 3.00 Rating: 4.29 out of 5
0 votes, 0.0%
1
0 votes, 0.0%
2
1 vote, 20.0%
3
1 vote, 20.0%
4
3 votes, 60.0%
5
Note: This is an unedited contribution. If this article is inappropriate, needs attention or copies someone else's work without reference then please Report This Article
Screenshot - readExcel1.gif

Introduction

This article explains how to connect to Microsoft Excel 2007 using ADO.NET Connection string and populate a DataGridView on a form.

Using the code

First create a C# Windows application using Visual Studio. Add the following controls to the main form from the tool box.

- DataViewGrid control (name as dgvExcelList)

- BindingSource control (name as dataBindingSrc)

- Button control (name as btnPopulate)

Now create open MS Excel 2007 and enter few records. Save the file and close Excel.

I have already created a sample Excel 2007 file which is available in the project folder of the demo project. If you want you can use it by copying to the C:\. The name of the Excel file is Members.xlsx

Copy the following codes into the btnPopulate_Click event and run the application. you will find the dgvExcelList is filled with all the entries in the Sheet1 of the Excel file.

Note: If you want to to use your own Excel file or saved the Members.xlsx file in a different location other than C:\ change the file and path name from the connection string.

Code:

// You can change C:\Members.xlsx to any valid path 

// where the file is located.


string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;
    FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'">Data Source=C:\Members.xlsx;Extended
    FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'">Properties=""Excel 12.0;HDR=YES;"""; 
// if you don't want to sho the header row (first row) in the grid

// use 'HDR=NO' in the string


string strSQL = "SELECT * FROM [Sheet1$]";
OleDbConnection excelConnection = new OleDbConnection(connectionString);
excelConnection.Open(); // this will open excel file

OleDbCommand dbCommand = new OleDbCommand(strSQL,excelConnection);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(dbCommand);

// create data table

DataTable dTable = new DataTable();

dataAdapter.Fill(dTable);

// bind the datasource

dataBingingSrc.DataSource = dTable;
// assign the dataBindingSrc to the DataGridView

dgvExcelList.DataSource = dataBingingSrc;


// dispose used objects

dTable.Dispose()
dataAdapter.Dispose();
dbCommand.Dispose();
excelConnection.Close();
excelConnection.Dispose();

Your suggestions and comments are most welcome

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Mihadh



Location: Maldives Maldives

Other popular Database articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 11 of 11 (Total in Forum: 11) (Refresh)FirstPrevNext
GeneralFound a bug in vista and VS 2008membernewbieprogrammerguy17:05 24 Sep '08  
GeneralExcel 2007 - Reading more than 256 columns from a sheet using OLEDBmemberFad1234:51 20 May '08  
QuestionCan I read Opened Excel file continuosly?memberMember 458580410:59 14 Jan '08  
GeneralRe: Can I read Opened Excel file continuosly?membersmramesh13:10 15 Jan '08  
GeneralMixed Field issue?memberEdwardQ7:30 28 Nov '07  
GeneralRe: Mixed Field issue?memberSarafian2:52 29 Nov '07  
GeneralRe: Mixed Field issue?memberMKauffman7:34 29 Nov '07  
GeneralRe: Mixed Field issue?memberMihadh6:42 30 Nov '07  
GeneralRe: Mixed Field issue?memberNair Machaan18:23 9 Dec '07  
AnswerRe: Mixed Field issue?memberstevechurcher14:04 30 Apr '08  
GeneralRe: Mixed Field issue?memberMihadh10:54 27 Nov '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 28 Nov 2007
Editor:
Copyright 2007 by Mihadh
Everything else Copyright © CodeProject, 1999-2008
Web15 | Advertise on the Code Project