Aller au contenu

ASP.NET Lire un fichier excel dans un gridview

Hello

Donc pré-requis :

  • il faut que office soit installer sur le serveur ou vous héberger et exécuter votre code
  • il vous faut un gridview normé
    GridView1

 

Puis ajouter ces bibliothèques dans votre projet :

using System;
using System.Configuration;
using System.Data;
using System.Data.OleDb;
using System.IO;

Puis cette fonction que vous pourrez utilisez soit lors du chargement de votre page , soit lorsque vous appuyer sur un bouton

private void Import_To_Grid(string FilePath, string Extension, string isHDR)
 {
 string conStr = "";
 switch (Extension)
 {
 case ".xls": //Excel 97-03
 conStr = ConfigurationManager.ConnectionStrings["Excel03ConString"]
 .ConnectionString;
 break;
 case ".xlsx": //Excel 07
 conStr = ConfigurationManager.ConnectionStrings["Excel07ConString"]
 .ConnectionString;
 break;
 }
 conStr = String.Format(conStr, FilePath, isHDR);
 System.Data.OleDb.OleDbConnection connExcel = new OleDbConnection(conStr);
 OleDbCommand cmdExcel = new OleDbCommand();
 OleDbDataAdapter oda = new OleDbDataAdapter();
 DataTable dt = new DataTable();
 cmdExcel.Connection = connExcel;

//Get the name of First Sheet
 connExcel.Open();
 DataTable dtExcelSchema;
 dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
 string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
 connExcel.Close();

//Read Data from First Sheet
 connExcel.Open();
 cmdExcel.CommandText = "SELECT * From [" + SheetName + "]";
 oda.SelectCommand = cmdExcel;
 oda.Fill(dt);
 connExcel.Close();

//Bind Data to GridView
 GridView1.Caption = Path.GetFileName(FilePath);
 GridView1.DataSource = dt;
 GridView1.DataBind();
 }

 

Étiquettes:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *