2010-10-20 8 views
2
SqlDataReader reader; 
string r=""; 
if ((FileUpload1.PostedFile != null)&&(FileUpload1.PostedFile.ContentLength > 0)) 
{ 
    r = System.IO.Path.GetFullPath(FileUpload1.PostedFile.FileName); 
} 
OleDbConnection oconn = 
    new OleDbConnection 
    (@"Provider=Microsoft.Jet.OLEDB.4.0;" 
    + @"Data Source="+r+";" 
    + @"Extended Properties=""Excel 8.0;HDR=Yes;"""); 
oconn.Open(); 
OleDbCommand dbcom = new OleDbCommand("SELECT * FROM [Sheet1$]", oconn); 
OleDbDataReader dbreader = dbcom.ExecuteReader(); 
int rni = dbreader.GetOrdinal ("RollNo"); 
int mki = dbreader.GetOrdinal ("marks"); 

Ici, le programme ne fonctionne que si la feuille Excel est présente dans le dossier du projet. Et si des modifications sont apportées à la feuille Excel et que le programme est réexécuté, seules les lignes qui étaient présentes avant sont récupérées, et non celles ajoutées plus tard. S'il vous plaît aidez-moi ..... merci d'avance .....Problème lors de la lecture de la feuille Excel

Répondre

0

Salut S'il vous plaît poster le code complet, ou bien vous pouvez importer la feuille de calcul complète à un objet Datatable avec la méthode ci-dessous et récupérer les colonnes et les lignes de DataTable nécessaires

static public DataTable ExecuteOleDataTable(string sql, string oledbconnectionstring) 
    { 
     using (OleDbCommand command = new OleDbCommand()) 
     { 
      command.CommandType = CommandType.Text; 

      OleDbConnection oledbconnection = new OleDbConnection(oledbconnectionstring); 
      command.Connection = new OleDbConnection(oledbconnectionstring); ; 
      command.CommandText = sql; 

      if (oledbconnection.State == System.Data.ConnectionState.Open) 
       oledbconnection.Close(); 
      oledbconnection.Open(); 
      OleDbDataAdapter sda = new OleDbDataAdapter(command); 
      DataTable datatable = new DataTable(); 
      sda.Fill(datatable); 
      oledbconnection.Close(); 
      return datatable; 
     } 
    } 
Questions connexes