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

  • 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
  • Gracias Leandro eso faltaba.

     

    pero me dices que "igual recomendaria uses parametros" como es eso! me podrias explicar!

     


    Daván Palma C#
    Freitag, 18. November 2011 17:34
  • 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.

    realmente yo no uso Crystal Report pero hice algo similar con XtraReport de DevExpress pero lo hize usando un Sub Report y configurando este a que apareciera en 4 columnas, creo que Crystal Report tambien los usa... prueba de esta manera a ver si te resulta.

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    Freitag, 18. November 2011 18:28
    Moderator