none
Grabar data en un archivo Excel del servidor RRS feed

  • Pregunta

  • Buen día, espero me puedan ayudar con una duda que tengo desde el día de ayer. Verán me pidieron registrar información en un archivo Excel en determinada ruta, es decir todos los registros que haga desde mi formulario se deben registrar en el Excel. Ahora todo funciona bien de manera local, sin embargo en el servidor no registra nada. Cabe resaltar que no sale ningún error al ejecutarse. El código que utilizo es 

    Private Sub Escribir()
            Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
             "Data Source=C:\InnovaAlumno.xlsx;" & _
             "Extended Properties='Excel 12.0 Xml;HDR=Yes'"
            Dim conn As New OleDbConnection(connectionString)
            Dim insert As String = "Insert into [Alumnos$] (Sede,Nombre,ApellidoPaterno,ApellidoMaterno,Direccion,FechaNacimiento,Email,TelfCelular,TelfCasa,TipoDoc,NroDoc,NroOperación,MontoPago,FechaPago) Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
            Dim insertCommand As New OleDbCommand(insert, conn)
            Try
                insertCommand.Parameters.Add("Sede", OleDbType.VarChar).Value = dplSede.SelectedValue
                insertCommand.Parameters.Add("Nombre", OleDbType.VarChar).Value = txtNombre.Text
                insertCommand.Parameters.Add("ApellidoPaterno", OleDbType.VarChar).Value = txtAPaterno.Text
                insertCommand.Parameters.Add("ApellidoMaterno", OleDbType.VarChar).Value = txtAMaterno.Text
                insertCommand.Parameters.Add("Direccion", OleDbType.VarChar).Value = txtDireccion.Text
                insertCommand.Parameters.Add("FechaNacimiento", OleDbType.VarChar).Value = txtFechaNac.Text
                insertCommand.Parameters.Add("Email", OleDbType.VarChar).Value = txtEmail.Text
                insertCommand.Parameters.Add("TelfCelular", OleDbType.VarChar).Value = txtCelular.Text
                insertCommand.Parameters.Add("TelfCasa", OleDbType.VarChar).Value = txtCasa.Text
                insertCommand.Parameters.Add("TipoDoc", OleDbType.VarChar).Value = dplTipoDoc.SelectedValue
                insertCommand.Parameters.Add("NroDoc", OleDbType.VarChar).Value = txtNro.Text
                insertCommand.Parameters.Add("NroOperación", OleDbType.VarChar).Value = txtOperacion.Text
                insertCommand.Parameters.Add("MontoPago", OleDbType.VarChar).Value = dplMonto.SelectedValue
                insertCommand.Parameters.Add("FechaPago", OleDbType.VarChar).Value = txtFechaPago.Text
                conn.Open()
                Dim count As Integer = insertCommand.ExecuteNonQuery()
            Catch ex As OleDbException
                lblMsj.Text = ex.Message
            Catch ex As Exception
                lblMsj.Text = ex.Message
            Finally
                conn.Close()
            End Try
        End Sub
    Espero puedan ayudarme. Gracias
    miércoles, 27 de abril de 2016 13:59

Respuestas

  • hola

    pero no se genera ningun mensaje de error ?

    ademas dudo que en el hosting puedas grabar en el c:\

    deberias crear una ruta dentro de la estrutura del sitio web, entonces usando el Server.MapPath() tener la fisica

    Dim ruta as String = Server.MapPath("~/archivos")
    
    Dim rutaCompleta = Path.Combine(ruta, "InnovaAlumno.xlsx")
    
    Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _         
                                      "Data Source={0};" & _         
                                      "Extended Properties='Excel 12.0 Xml;HDR=Yes'"
    
    connectionString  = string.Format(connectionString, rutaCompleta);

    el archivo no puedes estar en cualquier lado cuando lo subes a un servidor web

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de abril de 2016 11:44