2009-09-24 4 views
0

Comment insérer une ligne dans un document Excel. C'est ce que j'ai.Instructions d'insertion Excel OleConnection

String connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
    "Data Source=" + file_path + ";Extended Properties=Excel 8.0;"; 

     DataTable dt = new DataTable(); 

     DataSet ds = new DataSet(); 
     OleDbConnection conn = new OleDbConnection(connString); 

     OleDbCommand cmd = new OleDbCommand(str_insert, conn); 

     cmd.CommandTimeout = 3600; 
     try 
     { 

      cmd.Connection = conn; 
      DataSet active_ds = new DataSet(); 
      cmd.CommandText = str_insert; 
      if (conn.State != ConnectionState.Open) 
       conn.Open(); 

      foreach (DataRow dr in details_dt.Rows) 
      { 
       cmd.CommandText = "INSERT INTO [DETAILS$](Ipt, Ipt Ownr, Order, Order Delivery Date, Assembly, Description, Component, User, Name, Change Code, Reason Code, Value New, Value Old," 
       + "Date, Time, Auth Doc, Plant, Mfg Source, Order Type, Model, Effy) " + "VALUES(" + dr.ItemArray[0].ToString() + "," + dr.ItemArray[1].ToString() + "," + dr.ItemArray[2].ToString() + "," + dr.ItemArray[3].ToString() + "," + 
       dr.ItemArray[4].ToString() + "," + dr.ItemArray[5].ToString() + "," + dr.ItemArray[6].ToString() + "," + dr.ItemArray[7].ToString() + "," + dr.ItemArray[8].ToString() + "," + dr.ItemArray[9].ToString() + "," + dr.ItemArray[10].ToString() 
       + "," + dr.ItemArray[11].ToString() + "," + dr.ItemArray[12].ToString() + "," + dr.ItemArray[13].ToString() + "," + dr.ItemArray[14].ToString() + "," + dr.ItemArray[15].ToString() + "," + dr.ItemArray[16].ToString() + "," + dr.ItemArray[17].ToString() 
       + "," + dr.ItemArray[18].ToString() + "," + dr.ItemArray[19].ToString() + "," + dr.ItemArray[20].ToString() + "," + dr.ItemArray[21].ToString() + ")"; 
        cmd.ExecuteNonQuery(); 

      } 
+1

Quelle version d'Excel? Avez-vous des erreurs? Êtes-vous ouvert la connexion bien? – Gratzy

+0

Ou est-ce que vous venez juste de poser cette question http://stackoverflow.com/questions/1468076/c-accessing-excel-worksheet/1468153#1468153 – Gratzy

Répondre

0

C'était étrange, mais il y avait une différence dans les fichiers Excel auxquels je pouvais accéder. J'étais capable d'accéder au .xls mais pas aux fichiers .xlsx. Je produisais un fichier Excel qui était en XML et incapable d'y accéder avec OleDB donc j'ai simplement changé le format de fichier et cela a fonctionné.

0

Cette chaîne de connexion vous permettra d'accéder aux fichiers .xlsx Excel 2007 ...

OleDbConnection xlconnection = new OleDbConnection(); 

xlconnection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + @";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";