none
modificar un archivo excel mediante c#

    Frage

  • Hola buenos días.

    ayer formule una pregunta 

    http://social.msdn.microsoft.com/Forums/es/vcses/thread/ff3d91d9-b5ff-48a7-86be-42cdcf7dc61f

    pues como no hay respuesta (tomo eso como un no se puede).

    entonces me puse a ver con Excel tengo este código en encontré en esta web.

    http://www.eslomas.com/index.php/archives/2005/09/27/rellenar-un-excel-desde-c/

      private void button1_Click(object sender, EventArgs e)
            {               
    
                string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
                @"Data Source=Libro1.xls;" +
                @"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';
                OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
                oleConn.Open();
    
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = oleConn;
    
                dt = gs.Excel_ListacabeseraGuiasalida("001-N° 000001");
    
                // for    Cabesera
                foreach (DataRow row in dt.Rows)
                {
                    string fec = row["fechaemicion"].ToString();
    
                    cmd.CommandText = "UPDATE [Hoja1$C8:C8] SET F1=" + fec;
                    cmd.ExecuteNonQuery();
                    return;
                    cmd.CommandText = "UPDATE [Hoja1$C10:C10] SET F1=" + row["direccion Alma"].ToString();
                    cmd.ExecuteNonQuery();
    
                    cmd.CommandText = "UPDATE [Hoja1$C11:C11] SET F1=" + row["Destino"].ToString();
                    cmd.ExecuteNonQuery();
    
                    cmd.CommandText = "UPDATE [Hoja1$C14:C14] SET F1=" + row["Cliente"].ToString();
                    cmd.ExecuteNonQuery();
    
                    cmd.CommandText = "UPDATE [Hoja1$E15:E15] SET F1=" + row["Ruc"].ToString();
                    cmd.ExecuteNonQuery();
    
    
                    dtd = gs.Excel_DetalleGuiasaloda("001-N° 000001");
                    
                    foreach (DataRow rowd in dt.Rows)
                    {
                        // for Cuerpo ...descriocion cantidad peso
                        cmd.CommandText = "UPDATE [Hoja1$B3:B3] SET F1=" + rowd["descripcion"].ToString();
                        cmd.ExecuteNonQuery();
    
                        cmd.CommandText = "UPDATE [Hoja1$B3:B3] SET F1=" + rowd["cantidad"].ToString();
                        cmd.ExecuteNonQuery();
    
                        cmd.CommandText = "UPDATE [Hoja1$B3:B3] SET F1=" + rowd["unidadmedida"].ToString();
                        cmd.ExecuteNonQuery();
    
                      <strong>  dtns = gs.Excel_NumSerisGuiasalida("001-N° 000001", rowd["PartNumber"].ToString());
                        //  for num de series
                        foreach (DataRow rowns in dt.Rows)
                        {
                            cmd.CommandText = "UPDATE [Hoja1$B4:B4] SET F1=" + rowns["Numero"].ToString();
                            cmd.ExecuteNonQuery();
    
                        } //fin   for  num de series</strong>
                   
                         } //fin   for Cuerpo ...descriocion cantidad peso
                   
                } //fin     for    Cabesera
                oleConn.Close();
            }
    

    el dilema es que me da este error (adjunto la foto).

    la consulta de de tipo fecha.

    pero yo la e convertido a cadena para que no me de problema y también a la hoja de excel lo he dado formato de text.

    Por favor alguna solución (código). para este dilema!


    Daván Palma C#
    Freitag, 18. November 2011 17:20

Antworten

  • faltan las comillas simples para definir el string de la fecha

    cmd.CommandText = "UPDATE [Hola$C8:C8] SET F1 = '" + fec + "'";

     

    igual recomendaria uses parametros

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Als Antwort markiert Daván Palma Montag, 6. Mai 2013 20:36
    Freitag, 18. November 2011 17:27

Alle Antworten