Suite à de multitudes recherches sur comment importé un classeur Excel en VB.net ou en C#, et à des multiples questions posées à cet effet sur le forum vb.net ou C#. Je me permets de vous présenté dans ce billet de blog une méthode simple et efficace pour importé un classeur Excel vers un DataGridView en VB.net ou C#.
Dans cet exemple nous utiliserons la technologie ADO.met qui permet d’exécuter des requêtes SQL sur Excel, ainsi grâce à une requête SQL nous pourrons définir les données a sélectionné suivant la feuille, la colonne, la ligne ou la cellule.
Cet exemple suppose que vous avez votre formulaire avec un DataGridView nommé DataGridView1
- Exemple VB.net
'déclaration du dataset
Dim dat As DataSet
dat = New DataSet
'déclaration et utilisation d'un OLeDBConnection
Using Conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelFile.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""")
' Conn.Open()
'déclaration du DataAdapter
'notre requête sélectionne toute les cellule de la Feuil1
Using Adap As OleDbDataAdapter = New OleDbDataAdapter("select * from [Feuil1$]", Conn)
'Chargement du Dataset
Adap.Fill(dat)
'On Binde les données sur le DGV
DataGridView1.DataSource = dat.Tables(0)
End Using
'le end using libère les ressources
End Using
– Exemple C#
//déclaration du dataset
DataSet Dat;
Dat = new DataSet();
//déclaration d'un OLeDBConnection
OleDbConnection conn = new OleDbConnection(/*"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\ExcelFile.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""*/);
//déclaration du DataAdapter
//notre requête sélectionne toute les cellule de la Feuil1
OleDbDataAdapter Adap = new OleDbDataAdapter("select * from [Feuil1$]", conn);
//Chargement du Dataset
Adap.Fill(Dat);
//On Binde les données sur le DGV
DataGridView1.DataSource = Dat.Tables[0] ;
Bonne programmation à tous et à bientôt pour d’autres astuces 